FrancoisM a écrit :
Salut leconverti, voici en VBA ce que cela pourrait donner:
Sub test()
Dim i As Integer
For i = 1 To ThisWorkbook.Sheets.Count
Sheets(i).Name = Sheets(i).Range("A1").Value
Next
Sheets(3).Select
Sheets(3).Range("b2").Value = Sheets(1).Range("B4").Value
End Sub
A toi de t'assurer que la cellule A1 n'est pas vide, que sa longueur est de 30 au maximum, etc ...
Tu déclenche ce code quand ca te tente A l'ouverture du fichier, au changement de feuille, au changement de cellule.
A+
Francois.
Bonsoir François. Merci beaucoup pour ta réponse mais je suis très novice en VB donc j'ai pas compris
felix a écrit :
Bonjour,
pour renommer automatiquement ton ancien onglet avec le nouveau nom, tu peux faire comme ceci, attention toutefois qu'il n'y ait pas de doublons dans les noms d'élèves
dans le code de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("C7:C10"), Target) Is Nothing And Target.Count = 1 Then
If Target <> [élève] Then nouveau = Target: Call renomme
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("C7:C10"), Target) Is Nothing And Target.Count = 1 Then
ActiveWorkbook.Names.Add Name:="élève", RefersToR1C1:="=" & Chr(34) & Target.Formula & Chr(34)
End If
End Sub
et dans un module standard :
Public nouveau
Sub renomme()
For Each sh In Sheets
If sh.Name = [élève] Then sh.Name = nouveau: Exit For
Next sh
End Sub
J'ai bien essayé exactement comme tu m'a dit mais je reçoit une erreur.
Merci beaucoup pour vos réponses, j'approche du but ^^.
Amadeus, par contre les guillemés et les apostrophe, c'est impeccable. Merci à toi.
Bonne soirée a vous.
Amicalement