Dupliquer x fois la meme feuill excel
Résolu
ptigarsdu33
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
fanou87 -
fanou87 -
A voir également:
- Dupliquer une feuille excel plusieurs fois
- Dupliquer ecran - Guide
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Déplacer une colonne excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
4 réponses
Salut,
Essaye ceci :
Sub dupliquer()
Dim i As Integer
Dim result As Integer
Dim nomfich As String
Dim feuille As String
feuille = InputBox("Quel est le préfixe commun aux feuilles que vous souhaitez créer?", "nom des onglets")
Sheets("Feuil1").Select
Sheets("Feuil1").Copy
ActiveSheet.Name = feuille & "1"
nomfich = InputBox("Indiquez le nom que vous souhaitez pour votre fichier", "Nom du nouveau classeur")
ActiveWorkbook.SaveAs (nomfich)
result = InputBox("Combien de fois doit-on dupliquer cette feuille?", "Dupliquer x fois")
If result = "0" Then
Exit Sub
End If
If result = "1" Then
Exit Sub
End If
If result <> "1" Then
For i = 2 To result
Workbooks("Classeur1").Activate
Sheets("Feuil1").Select
Sheets("Feuil1").Copy Before:=Workbooks(nomfich).Sheets(1)
ActiveSheet.Name = feuille & " " & i
Next i
Else
Exit Sub
End If
End Sub
Essaye ceci :
Sub dupliquer()
Dim i As Integer
Dim result As Integer
Dim nomfich As String
Dim feuille As String
feuille = InputBox("Quel est le préfixe commun aux feuilles que vous souhaitez créer?", "nom des onglets")
Sheets("Feuil1").Select
Sheets("Feuil1").Copy
ActiveSheet.Name = feuille & "1"
nomfich = InputBox("Indiquez le nom que vous souhaitez pour votre fichier", "Nom du nouveau classeur")
ActiveWorkbook.SaveAs (nomfich)
result = InputBox("Combien de fois doit-on dupliquer cette feuille?", "Dupliquer x fois")
If result = "0" Then
Exit Sub
End If
If result = "1" Then
Exit Sub
End If
If result <> "1" Then
For i = 2 To result
Workbooks("Classeur1").Activate
Sheets("Feuil1").Select
Sheets("Feuil1").Copy Before:=Workbooks(nomfich).Sheets(1)
ActiveSheet.Name = feuille & " " & i
Next i
Else
Exit Sub
End If
End Sub
Salut,
Oui remplacer before par after ok mais ça te donne : onglet1/onglet5/onglet4/onglet3/onglet2
je vais essayer de te bricoler quelque chose.
Oui remplacer before par after ok mais ça te donne : onglet1/onglet5/onglet4/onglet3/onglet2
je vais essayer de te bricoler quelque chose.
Voilà. En fait il suffit d'ajouter une variable t pour le nom de la feuille après laquelle ajouter un onglet. Je te remet ici le code en entier :
Sub dupliquer()
Dim i As Integer
Dim t As Integer
Dim result As Integer
Dim nomfich As String
Dim feuille As String
feuille = InputBox("Quel est le préfixe commun aux feuilles que vous souhaitez créer?", "nom des onglets")
Sheets("Feuil1").Select
Sheets("Feuil1").Copy
ActiveSheet.Name = feuille & "1"
nomfich = InputBox("Indiquez le nom que vous souhaitez pour votre fichier", "Nom du nouveau classeur")
ActiveWorkbook.SaveAs (nomfich)
result = InputBox("Combien de fois doit-on dupliquer cette feuille?", "Dupliquer x fois")
If result = "0" Then
Exit Sub
End If
If result = "1" Then
Exit Sub
End If
If result <> "1" Then
For i = 2 To result
t = i - 1
Workbooks("Classeur1").Activate
Sheets("Feuil1").Select
Sheets("Feuil1").Copy after:=Workbooks(nomfich).Sheets(t)
ActiveSheet.Name = feuille & " " & i
Next i
Else
Exit Sub
End If
End Sub
Sub dupliquer()
Dim i As Integer
Dim t As Integer
Dim result As Integer
Dim nomfich As String
Dim feuille As String
feuille = InputBox("Quel est le préfixe commun aux feuilles que vous souhaitez créer?", "nom des onglets")
Sheets("Feuil1").Select
Sheets("Feuil1").Copy
ActiveSheet.Name = feuille & "1"
nomfich = InputBox("Indiquez le nom que vous souhaitez pour votre fichier", "Nom du nouveau classeur")
ActiveWorkbook.SaveAs (nomfich)
result = InputBox("Combien de fois doit-on dupliquer cette feuille?", "Dupliquer x fois")
If result = "0" Then
Exit Sub
End If
If result = "1" Then
Exit Sub
End If
If result <> "1" Then
For i = 2 To result
t = i - 1
Workbooks("Classeur1").Activate
Sheets("Feuil1").Select
Sheets("Feuil1").Copy after:=Workbooks(nomfich).Sheets(t)
ActiveSheet.Name = feuille & " " & i
Next i
Else
Exit Sub
End If
End Sub
Alors là je dis oui!!!
J'étais en train de vérifier si tout fonctionnait et c'est vrai que mon "after" ne solutionnait pas grand chose! j'avais pas trop fais attention!
Du coup merci beaucoup. Problème résolu par ta macro!
J'en ai un autre en préparation.... si ca branche quelqu'un... je vais posté ca d'ici peu...
Merci en tout cas!
Bonne journée
J'étais en train de vérifier si tout fonctionnait et c'est vrai que mon "after" ne solutionnait pas grand chose! j'avais pas trop fais attention!
Du coup merci beaucoup. Problème résolu par ta macro!
J'en ai un autre en préparation.... si ca branche quelqu'un... je vais posté ca d'ici peu...
Merci en tout cas!
Bonne journée
merci beaucoup! Ca marche nikel! Exactement ce que j'attendais!
Cependant, les onglets créés se "rangent" dans l'ordre décroissant : 5, 4 , 3,.... Serait-il possible de les organiser en ordre croissant??? Ca doit etre tout bête mais.... j'y arrive pas!!
En tout cas merci beaucoup!
Tchô
Merci encore et bon courage!!!