Bonjour à tous,
Premier poste sur le forum, je vais essayer d'être le plus concis possible.
Après plusieurs heures de recherches (personnelles, forums, FAQ,...), je suis bloqué sur un bout de code qui est primordial dans le formulaire que je suis en train de créer.
Contexte :
Après identification (feuille 1), l'utilisateur clique sur un bouton pour encoder son projet dans une fiche (nouvelle feuille pré-remplie). Il existe 3 types de fiche, c'est-à-dire 3 feuilles excel avec un contenu différent.
Etant donné que l'utilisateur peut encoder autant de projets qu'il veut, lorsqu'il clique sur le bouton, le code VBA copie la feuille pré-remplie concernée et copie dans une nouvelle feuille préalablement créée grâce au code suivant :
"Feuille 5" étant la feuille concernée par le projet de type "général".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub CommandButton2_Click() If ComboBox1.Value = "Général" Then Sheets("Feuil5").Copy Before:=Sheets("Feuil2") ActiveSheet.Name = "FP_G" End If Exit Sub
Mon soucis réside dans le fait que si l'utilisateur veut encoder un nouveau projet de type "général", il faut un code qui repère l'existence de la première feuille ("FP_G1") et copie à nouveau la feuille 5 en donnant comme nom à la nouvelle feuille "FP_G2" et ainsi de suite.
Je cherche donc un code qui exécuterait quelque chose du genre :
Je n'y parviens pas, si un d'entre vous a une piste ou peut m'aider de quelconque manière, je le remercie d'avance!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub CommandButton2_Click() If ComboBox1.Value = "Général" Then Dim i As Integer For i = 1 To 100 nomfeuille = "FP_G" & i If Sheets("FP_G" & i) existe Then Sheets("Feuil5").Copy Before:=Sheets("Feuil2") ActiveSheet.Name = "FP_G" & i + 1 Else : Sheets("Feuil5").Copy Before:=Sheets("Feuil2") ActiveSheet.Name = "FP_G" & i End If Exit For Next i End If End Sub
Bonne fin de journée
Partager