Bonjour à tous. Je viens vous voir car j'ai un problème sous vba excel. Voilà, j'ai créé un fichier excel où il y a une multitude de feuilles. Dans un tableau j'ai inscrit une suite de chiffre du type (1,2,3,4,5,6... etc). Ces chiffres correspondent aux noms des feuilles de mon classeur. Ainsi pour réaliser cette correspondance (mes noms de feuilles seront donc une suite de chiffres comme dans le tableau) j'ai renvoyé en A1 de chaque feuille une valeur du tableau par cette fonction excel basique :
A1 ="nom de la feuille où il y a le tableau"!"cellule ayant comme valeur le chiffre qui donnera le nom à la feuille"
exemple concret :
A1 =Synthèse!L8 je me retrouverai alors avec une valeur de A1 = 4 par exemple
Ensuite pour que le nom de la feuille corresponde à cette valeur de A1 j'ai insérer ce code vba dans chaque feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
For Each sht In ActiveWorkbook.Worksheets
Sheets(sht.Name).Name = Sheets(sht.Name).[A1]
Next
End Sub
Ainsi dès que je vais changer la valeur d'une cellule de mon tableau, le nom de la feuille rataché à cette cellule par le procédé expliqué ci dessus changera aussi.
Ce procédé fonctionne trés bien mais le problème que je n'arrive pas à résoudre c'est que lorsque que je change toutes les valeurs de mon tableau il faut que je selectione une feuille au hazard et que je selectionne autant de cellules differentes que j'ai de feuilles à renommer. Par exemple :
Si je modifie dix valeurs de mon tableau. Pour que les dix noms des feuilles correspondant aux valeurs changent je dois selectionner la feuille nommer "2" par exemple et je dois cliquer sur les cellules B5,B6,B7,B8,B9,B10,B11,B12,B13,B14 ce qui fait 10 cellules differentes et ainsi mes dix nom de feuilles seront renommés.
Moi ce que je souhaite c'est que dès que je vais changer des valeurs dans mon tableau, les noms des feuilles correspondant soient modifiés automatiquement.
Je vous remercie d'avance pour votre aide.
Configuration: Windows 2000
Internet Explorer 5.01