Bonjour à tous,
Premier post sur ce forum oh combien passionnant et qui m'a sauvé la vie plus d'une fois !
J'utilise Excel tous les jours au travail et je pense me débrouiller plus que la moyenne mais bien moins que vous tous
Je vous expose mon problème : j'ai créer un fichier excel avec un onglet "modèle" et un onglet "liste" (qui comprend une liste d'employés, matricules, nom, prénom, poste, etc.)
Je dois créer une fiche modèle par employés. En farfouillant sur le net, j'ai trouvé un code parfait pour ça que je vous recopie ci-dessous :
Sub Creation_Onglets_Selon_Modele()
Dim c As Range
Application.ScreenUpdating = False
'On crée les onglets qui sont listés à partir de la cellule
'A2 de l'onglet nommé Liste
Set c = Worksheets("Liste").Range("A12") 'cellule de départ
Do Until IsEmpty(c) 'boucle tant que c est vide
'on copie le modèle en dernier
Worksheets("Modèle").Copy After:=Worksheets(ThisWorkbook.Sheets.Count)
With Worksheets(ThisWorkbook.Sheets.Count) 'avec l'onglet créé
.Name = c.Value 'on renomme
'on remplit notre modèle comme on veut...
xxxxxxxxxxxxxxxxxxxxxxx
End With
Set c = c.Offset(1, 0) 'prochaine ligne
Loop
Application.ScreenUpdating = True
End Sub
Maintenant que mes onglets sont créées, je voudrais juste incrémenter automatiquement respectivement en B12, C12 et E12 (pour le premier salarié, ensuite on passe à B13, C13 etc) les infos comprises en D4, D6 et I6. Je pense que je dois inclure une fonction Range à l'endroit où j'ai mis des xxxxx dans le code .... mais je suis bien trop nulle pour al programmation en VBA.
Est ce que l'un d'entre vous pourrait m'aider et surtout m'expliquer comment on utilise la fonction range ?
En gros comment on incrémente dans la même cellule de destination des valeurs d'une cellule variable ?
Je ne sais pas si je suis très claire....
En tous cas merci du temps que vous apporterez à ma demande
Premier post sur ce forum oh combien passionnant et qui m'a sauvé la vie plus d'une fois !
J'utilise Excel tous les jours au travail et je pense me débrouiller plus que la moyenne mais bien moins que vous tous
Je vous expose mon problème : j'ai créer un fichier excel avec un onglet "modèle" et un onglet "liste" (qui comprend une liste d'employés, matricules, nom, prénom, poste, etc.)
Je dois créer une fiche modèle par employés. En farfouillant sur le net, j'ai trouvé un code parfait pour ça que je vous recopie ci-dessous :
Sub Creation_Onglets_Selon_Modele()
Dim c As Range
Application.ScreenUpdating = False
'On crée les onglets qui sont listés à partir de la cellule
'A2 de l'onglet nommé Liste
Set c = Worksheets("Liste").Range("A12") 'cellule de départ
Do Until IsEmpty(c) 'boucle tant que c est vide
'on copie le modèle en dernier
Worksheets("Modèle").Copy After:=Worksheets(ThisWorkbook.Sheets.Count)
With Worksheets(ThisWorkbook.Sheets.Count) 'avec l'onglet créé
.Name = c.Value 'on renomme
'on remplit notre modèle comme on veut...
xxxxxxxxxxxxxxxxxxxxxxx
End With
Set c = c.Offset(1, 0) 'prochaine ligne
Loop
Application.ScreenUpdating = True
End Sub
Maintenant que mes onglets sont créées, je voudrais juste incrémenter automatiquement respectivement en B12, C12 et E12 (pour le premier salarié, ensuite on passe à B13, C13 etc) les infos comprises en D4, D6 et I6. Je pense que je dois inclure une fonction Range à l'endroit où j'ai mis des xxxxx dans le code .... mais je suis bien trop nulle pour al programmation en VBA.
Est ce que l'un d'entre vous pourrait m'aider et surtout m'expliquer comment on utilise la fonction range ?
En gros comment on incrémente dans la même cellule de destination des valeurs d'une cellule variable ?
Je ne sais pas si je suis très claire....
En tous cas merci du temps que vous apporterez à ma demande