Dupliquer x fois la meme feuill excel
Résolu/Fermé
ptigarsdu33
Messages postés
22
Date d'inscription
jeudi 5 mars 2009
Statut
Membre
Dernière intervention
12 mai 2010
-
5 mars 2009 à 11:15
fanou87 - 17 mars 2010 à 22:03
fanou87 - 17 mars 2010 à 22:03
A voir également:
- Dupliquer une feuille excel plusieurs fois
- Liste déroulante excel - Guide
- Dupliquer ecran - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Formule excel - Guide
- Déplacer une colonne excel - Guide
4 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 743
5 mars 2009 à 16:45
5 mars 2009 à 16:45
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 743
6 mars 2009 à 09:38
6 mars 2009 à 09:38
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.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 743
6 mars 2009 à 09:44
6 mars 2009 à 09:44
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
ptigarsdu33
Messages postés
22
Date d'inscription
jeudi 5 mars 2009
Statut
Membre
Dernière intervention
12 mai 2010
6 mars 2009 à 10:07
6 mars 2009 à 10:07
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
5 mars 2009 à 17:36
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ô
5 mars 2009 à 17:56
Merci encore et bon courage!!!