Bonjour à tous ci-dessous la solution que vous m'avez donnée précédemment
sur une feuille Excel je voudrai créer un onglet en tapant le nom sur une cellule de la feuille 1
Exemple feuil1 cellule A1 je tape nom pour créer automatiquement un onglet nom
feuil1 cellule A2 je tape prénom pour onglet prénom
Ce code à placer dans le module de la feuille où vous écrivez les noms :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Or Target.Count > 1 Then Exit Sub
Dim nom$
nom = Left(CStr(Target), 31)
If nom = "" Then Exit Sub
On Error Resume Next
Sheets(nom).Activate
If Err = 0 Then Exit Sub
Err = 0
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = nom
If Err Then
ActiveSheet.Delete
Me.Activate
Target.Select
Application.ScreenUpdating = False
MsgBox "Il y a des caractères interdits dans le nom !", 48
End If
End Sub
Peut on dans ce code faire en sorte que lorsque on tape un nom dans une cellule, créer directement le lien avec la feuille correspondante pour éviter de créer ce lien ligne après ligne car il va y avoir beaucoup de noms et de feuilles.
Je joins un fichier pour exemple avec le code précédent
Merci pour votre aide
sur une feuille Excel je voudrai créer un onglet en tapant le nom sur une cellule de la feuille 1
Exemple feuil1 cellule A1 je tape nom pour créer automatiquement un onglet nom
feuil1 cellule A2 je tape prénom pour onglet prénom
Ce code à placer dans le module de la feuille où vous écrivez les noms :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Or Target.Count > 1 Then Exit Sub
Dim nom$
nom = Left(CStr(Target), 31)
If nom = "" Then Exit Sub
On Error Resume Next
Sheets(nom).Activate
If Err = 0 Then Exit Sub
Err = 0
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = nom
If Err Then
ActiveSheet.Delete
Me.Activate
Target.Select
Application.ScreenUpdating = False
MsgBox "Il y a des caractères interdits dans le nom !", 48
End If
End Sub
Peut on dans ce code faire en sorte que lorsque on tape un nom dans une cellule, créer directement le lien avec la feuille correspondante pour éviter de créer ce lien ligne après ligne car il va y avoir beaucoup de noms et de feuilles.
Je joins un fichier pour exemple avec le code précédent
Merci pour votre aide