Hookerseven77
Nouveau membre
Bonjour,
Je débute en VBA et je recherche une solution sur Excel qui me dépasse pour le moment malgré mes innombrables recherches sur internet.
Voilà mon problème, j'ai un tableau général sur ma première feuille qui me sert à lister l'ensemble des véhicules dont j'ai la gestion (1 véhicule par ligne) et les autres feuilles représentent la fiche détaillée de chaque véhicule.
J'ai créé un code qui me permet en cliquant sur un bouton de créer une feuille véhicule pour chaque ligne du tableau général et avec comme nom de chaque feuille le modèle et de l'immat correspondant à la "Liste" (colonne "MODEL" + "IMMAT" du tableau général), comme ci-dessous :
Sub CommandButton1_Click()
Dim nom, c
Dim strNomFeuille As String
For Each c In Range("Liste")
nom = c.Value
strNomFeuille = nom
If FeuilleInexistante(strNomFeuille) = False Then
' "ne rien faire"
Else
Sheets("Modèle").Cells.Copy
Sheets.Add Count:=1, after:=Worksheets(Worksheets.Count)
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=False
ActiveSheet.Name = nom
MsgBox "Feuille " & nom & " créée!"
End If
Next c
End Sub
Avec comme module :
Public Function FeuilleInexistante(ByVal strNomFeuille As String) As Boolean
'Retourne TRUE si strNomFeuille est le nom d'une feuille qui n'existe pas dans le classeur actif
FeuilleInexistante = IsError(Evaluate("='" & strNomFeuille & "'!A1"))
End Function
Maintenant, je souhaiterai remplir automatiquement chaque feuille véhicule par les données des lignes du tableau général correspondant au véhicule de la feuille (exemple : immatriculation, marque, modèle).
Je ne sais pas si je suis très clair donc je peux vous envoyer le fichier ou les images de ma feuille tableau général et de ma feuille modèle à partir de laquelle je créée mes feuilles véhicules.
Merci d'avance pour votre aide.
Cordialement.
Je débute en VBA et je recherche une solution sur Excel qui me dépasse pour le moment malgré mes innombrables recherches sur internet.
Voilà mon problème, j'ai un tableau général sur ma première feuille qui me sert à lister l'ensemble des véhicules dont j'ai la gestion (1 véhicule par ligne) et les autres feuilles représentent la fiche détaillée de chaque véhicule.
J'ai créé un code qui me permet en cliquant sur un bouton de créer une feuille véhicule pour chaque ligne du tableau général et avec comme nom de chaque feuille le modèle et de l'immat correspondant à la "Liste" (colonne "MODEL" + "IMMAT" du tableau général), comme ci-dessous :
Sub CommandButton1_Click()
Dim nom, c
Dim strNomFeuille As String
For Each c In Range("Liste")
nom = c.Value
strNomFeuille = nom
If FeuilleInexistante(strNomFeuille) = False Then
' "ne rien faire"
Else
Sheets("Modèle").Cells.Copy
Sheets.Add Count:=1, after:=Worksheets(Worksheets.Count)
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=False
ActiveSheet.Name = nom
MsgBox "Feuille " & nom & " créée!"
End If
Next c
End Sub
Avec comme module :
Public Function FeuilleInexistante(ByVal strNomFeuille As String) As Boolean
'Retourne TRUE si strNomFeuille est le nom d'une feuille qui n'existe pas dans le classeur actif
FeuilleInexistante = IsError(Evaluate("='" & strNomFeuille & "'!A1"))
End Function
Maintenant, je souhaiterai remplir automatiquement chaque feuille véhicule par les données des lignes du tableau général correspondant au véhicule de la feuille (exemple : immatriculation, marque, modèle).
Je ne sais pas si je suis très clair donc je peux vous envoyer le fichier ou les images de ma feuille tableau général et de ma feuille modèle à partir de laquelle je créée mes feuilles véhicules.
Merci d'avance pour votre aide.
Cordialement.