Nom de feuille
Bonjour,
Tout d'abord je suis complètement novice en VBA ... Désolé d'avance pour les maladresses ou questions "bêtes" ...
Voilà ma question :
J'aimerai nommer mes feuilles par le nom contenu dans une cellule.
J'ai réussi avec sheets.name mais lorsque la cellule est vide, excel stoppe tout
De plus il n'accepte pas deux fois le même nom ...
Pouvez vous m'éclairer ?
Merci d'avance
Bonjour nonobdx
voici un code qui créer un onglet en prenant le nom qu'il ya dans une combobox sur userform
Private Sub CommandButton1_Click()
'déclaration de la variable
Dim Faute As Long
'si le combobox est vide on sort
If Me.ComboBox1 = "" Then Exit Sub
On Error Resume Next
'affiche la feuille au nom du combobox
Sheets(Me.ComboBox1.Text).Visible = True
Faute = Err.Number
On Error GoTo 0
If Faute > 0 Then
'crétion de la feuille en dernière position après comptage
Sheets.Add after:=Sheets(Sheets.Count)
' le nom de la feuille devient celui qui est afficher dans la combobox
ActiveSheet.Name = Me.ComboBox1
Else
MsgBox "Feuille existante"
End If
End Submais le bug peut toujours avoir lieu si 2 feuilles se nomme pareil
Bonjour,
Salut Grisant29
Une procédure qui nommera la feuille lorsque tu modifies la cellule B3 de n'importe quelle feuille.
En cas d'erreur, un message le signale.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$B$3" Then
On Error GoTo Fin
If Target <> "" Then Sh.Name = Target
End If
Exit Sub
Fin:
MsgBox "Le renommage n'a pu être effectué !" & Chr(10) & "Vérifier que le nom n'existe " _
& "pas déjà ou qu'il ne contient pas de caractères non autorisés.", vbInformation, "Erreur"
End SubA placer dans le module ThisWorkbook.
Cordialement.
Merci à tous !
grisan29, je voudrais vraiment éviter l'erreur si 2 feuilles se nomme pareil ... d'ailleurs pourquoi ne me mettrait il pas un nom(2) ?
Mferrand ... "le module ThisWorkbook" ??? Je suis vraiment nul désolé ...
Précision :
En fait je voudrais que les prénoms de la colonne B se repartissent dans l'ordre sur les feuilles ...
Bonjour,
Tu veux pouvoir utiliser des macros ? Il faut que tu saches accéder à l'éditeur VBA, puisse identifier dans l'explorateur de projets les modules des objets existants dans ton classeur, insérer un module standard... C'est un préalable au minimum requis !
Quand tu ouvres l'éditeur, tu constates la présence d'un module pour chaque feuille de calcul, identifié par le nom de code de la feuille (entre parenthèse figure le nom de l'onglet), et d'un module dédié au classeur nommé ThisWorkbook.
C'est ce dernier module qu'il faut ouvrir pour y coller la macro fournie. Tant que tu ne peux pas faire ces manoeuvres élémentaires, on n'avancera pas...
En fait je voudrais que les prénoms de la colonne B se repartissent dans l'ordre sur les feuilles ...
Ça, c'est peut-être clair dans ta tête ! mais il faut le traduire avec un peu plus de précision pour les autres !
Mais tu commences surtout par ce qui précède, sans quoi rien n'est possible...