Se connecter avec
S'enregistrer | Connectez-vous

You are not allowed to do this.

Nom onglet excel et cellule

Dernière réponse : dans Logiciels de bureau
Lassé par la pub ? Créez un compte

Salut, je confirme que le standard de l'application Excel ne permet pas se genre d'option. Ca passe obligatoirement par du VBA.

Pour Excel 2003, on pourrait utiliser ça :

  1. Sub TabNameA1()
  2.  
  3. Dim Feuille As Worksheet
  4.  
  5. For Each Feuille In Worksheets
  6. If Feuille.Range("A1") <> "" Then
  7. Feuille.Name = Feuille.Range("A1").Value
  8. End If
  9. Next Feuille
  10.  
  11. End Sub

Salut

Alors je viens de testé !
Je l'inscrit dans le code de la premiere feuil et hop ca marche . . .Génial :lol: 

Mon souci maintenant c'est que lorsque la valeur A1 change le nom de mon onglet ne suit pas ! ! ! c'est balo ! ! ! :pt1cable: 

Pourquoi il ne prend pas ?


en tous les cas merci de votre aide, je cherche pas moi meme depuis plus d'une semaine mais je n'ai aucune notion de vba, j'apprends sur le "tas" comme ont dit ! ! !
Alors merci bcp d'avoir contribué a mon évolution sur le sujet


Salut,

Il ne te le prends pas car la vérification ne se fait que lorsque tu lance ton programme.

Plusieurs possibilités :

Soit tu ajoutes un raccourci à la macro et tu l'exécutes à chaque fois que tu as besoin de rafraîchir.

Soit tu met un "timer" et là bonjour le travail. :cry: 

Je plainsante vu que je suis nouveau sur tom's guide et que j'ai besoin de points. :sol: 

  1. Sub Auto_open()
  2. Dim nbs As Integer
  3. 'L'application ExecutionTimer se lancera toutes les 0 heure, 0 minute et Interval seconde
  4. Interval = nbs = 1
  5. Application.OnTime Now + TimeSerial(0, 0, 1), "ExecutionTimer"
  6. End Sub
  7.  
  8.  
  9. Sub ArretTimer()
  10. On Error Resume Next
  11. Application.OnTime Lheure, "ExecutionTimer", , False
  12. End Sub
  13.  
  14.  
  15. Sub ExecutionTimer()
  16.  
  17. Dim Feuille As Worksheet
  18.  
  19. For Each Feuille In Worksheets
  20. If Feuille.Range("A1") <> "" Then
  21. Feuille.Name = Feuille.Range("A1").Value
  22. End If
  23. Next Feuille
  24.  
  25. Lheure = Now + TimeSerial(0, 0, 1)
  26. Application.OnTime Lheure, "ExecutionTimer"
  27. End Sub


Bon cerise sur le gâteau, j'ai rajouté et un timer pour que le code s'exécute sur dès que tu fais une modification et un auto_open pour que le programme se lance tout seul à l'ouverture de ton fichier. Le tout servi sur un plateau.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde