copie mutiple de feuilles

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

alfazoulou

XLDnaute Occasionnel
Re bonjour à tous.
ma question concerne la copie multiple de feuilles comme indiqué dans le titre.🙂

Je sais écrire un code qui copie l'onglet feuill1, le place après l'onglet feuill10 et le nomme facture 1.
Comme ci dessous.

Sheets("feuill1").Copy After:=Sheets("feuill10")
Sheets("feuill1 (2)").Activate
Sheets("feuill1 (2)").Name = "facture 1"

Ma question:
comment faire pour copier l'onglet feuill1 en 10 exemplaires, les placer après l'onglet feuill10 et les nommer facture 1, facture 2, facture 3, etc...

Merci pour votre aide.
 
Re : copie mutiple de feuilles

Bonjour à tous

EDITION:
Une version ne nécessitant de modifier le code name
Code:
Sub copie_II()
Dim MODELE As Worksheet
Set MODELE = Sheets("Feuil1")
Application.ScreenUpdating = False
For i = 1 To 10
MODELE.Copy After:=Sheets(i)
ActiveSheet.Name = "Facture " & i
Next
Application.ScreenUpdating = True
End Sub


Code:
Sub copie()
For i = 1 To 10
facture.Copy After:=Sheets(i)
ActiveSheet.Name = "Facture " & i
Next
End Sub
PS: renommer le code name de la feuille 1 en facture.
 
Dernière édition:
Re : copie mutiple de feuilles

petite question complémentaire:

pour ensuite sélectionner les dix feuilles existe il une manière plus simple que:

Sheets(Array("facture 1", "facture 2", "facture 3", "facture 2", "facture 3", "facture 4", "facture", "facture 6", "facture7", "facture 8", "facture 9", "facture10")).Select

hein???
 
Re : copie mutiple de feuilles

Bonjour Alfazoulou, Jean-Marie

une autre approche :

Code:
For i = 1 To 10
    Sheets("Feuil1").Copy After:=Sheets("Feuil10")
    Sheets(Sheets("Feuil10").Index + 1).Name = "facture " & i
Next i

pour la selection multiple :

Code:
Dim i As Byte
For i = 1 To 10
    Sheets("facture " & i).Select False
Next i

bon après midi
@+
 
Re : copie mutiple de feuilles

Re,

Pour la selection multiple :

Sub test2()
Dim MesFeuilles(9)
For i = 0 To 9
MesFeuilles(i) = "Facture " & i + 1
Next
Sheets(MesFeuilles).Select
End Sub

Sub CodePierrot()
Sheets("facture 1").Select
For i = 1 To 10
Sheets("facture " & i).Select False
Next i
End Sub
Dans le code de Pierrot, je crois qu'il faut rajouter une ligne.
Sinon, si on est sur la Feuil1 par ex, elle est selectionnée avec les 10 autres.
 
Re : copie mutiple de feuilles

Re


Code:
Sub select_facture()
Dim ws As Worksheet
Application.ScreenUpdating = False
For Each ws In ActiveWorkbook.Sheets
    If ws.Name Like "Fact*" Then
    ws.Select False
    End If
Next ws
Application.ScreenUpdating = True
End Sub

edition: salut à tous, Catrice, Pierrot93

je n'avais pas rafraichi mon navigateur, désolé.
 
Re : copie mutiple de feuilles

Je reviens vers vous car j'ai un petit soucis.
Aprés avoir essayé avec succès vos méthodes pour copier et nommer les feuilles, il est à présent impossible de le faire, y compris sans code en utilisant normalement le clic droit sur l'onglet; aucune réaction.
S'agit il d'un bug de mon ordi ou d'excel??
avez vous une idée SVP??
 
Re : copie mutiple de feuilles

décidément...
les problèmes continuent...


j'ai le code suivant qui copie 2 feuilles en plusieurs exemplaires et les renomme.
Jusque là tout va bien (grace à vous).
ensuite cela se complique quand je veux formater toutes les cellules A58:A62 de toutes les feuilles j'obtiens un message d'erreur sur la ligne "Range("A58:A62").Select"
alors que ce code vient de l'éditeur de macros.
????

Private Sub CommandButton1_Click()

Sheets("Feuil1").Copy After:=Sheets("Feuil3")
Sheets("Feuil1 (2)").Activate
Sheets("Feuil1 (2)").Name = "Devis 1"

Sheets("Feuil2").Copy After:=Sheets("Devis 1")

For i = 2 To 9

ActiveSheet.Name = "Devis " & i
Sheets("Feuil2").Copy After:=Sheets("devis " & i)
Next
ActiveSheet.Name = "Devis " & i

Dim MesFeuilles(9)
For i = 0 To 9
MesFeuilles(i) = "Devis " & i + 1
Next
Sheets(MesFeuilles).Select



Sheets("Devis 1").Activate
Range("A58:A62").Select
ActiveWindow.SmallScroll Down:=3
Selection.Font.Bold = True
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With



End Sub
 

Pièces jointes

Re : copie mutiple de feuilles

Bonsoir,

Tu peux essayer ceci :

Private Sub CommandButton1_Click()
Sheets("Feuil1").Copy After:=Sheets("Feuil3")
For i = 1 To 9
ActiveSheet.Name = "Devis " & i
Sheets("Feuil2").Copy After:=Sheets("devis " & i)
Next
ActiveSheet.Name = "Devis " & i
Dim MesFeuilles(9)
For i = 0 To 9
MesFeuilles(i) = "Devis " & i + 1
Next
Sheets(MesFeuilles).Select
Sheets("Devis 1").Range("A58:A62").Select
With Selection
.Font.Bold = True
.Interior.ColorIndex = 6
.Interior.Pattern = xlSolid
End With
End Sub
 
Re : copie mutiple de feuilles

Bonsoir à tous

Un petit ajout au code de Catrice (que je salue)

Code:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Sheets("Feuil1").Copy After:=Sheets("Feuil3")
For i = 1 To 9
ActiveSheet.Name = "Devis " & i
Sheets("Feuil2").Copy After:=Sheets("devis " & i)
Next
ActiveSheet.Name = "Devis " & i
Dim MesFeuilles(9)
For i = 0 To 9
MesFeuilles(i) = "Devis " & i + 1
Next
Sheets(MesFeuilles).Select
Sheets("Devis 1").Range("A58:A62").Select
With Selection
.Font.Bold = True
.Interior.ColorIndex = 6
.Interior.Pattern = xlSolid
End With
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
 
Re : copie mutiple de feuilles

Bonsoir,

Tu peux essayer ceci :

Private Sub CommandButton1_Click()
Sheets("Feuil1").Copy After:=Sheets("Feuil3")
For i = 1 To 9
ActiveSheet.Name = "Devis " & i
Sheets("Feuil2").Copy After:=Sheets("devis " & i)
Next
ActiveSheet.Name = "Devis " & i
Dim MesFeuilles(9)
For i = 0 To 9
MesFeuilles(i) = "Devis " & i + 1
Next
Sheets(MesFeuilles).Select
Sheets("Devis 1").Range("A58:A62").Select
With Selection
.Font.Bold = True
.Interior.ColorIndex = 6
.Interior.Pattern = xlSolid
End With
End Sub

excuse moi pour le fil, je le saurais...

merci de ton aide, ton code fontionne mais pourrais tu m'expliquer pourquoi lorsque je supprime les feuilles créées et que je relance la macro j'ai une erreur sur la ligne "Sheets("Feuil2").Copy After:=Sheets("devis " & i)"

???
 
Re : copie mutiple de feuilles

Merci à toi aussi staple 1600 mais comme je l'ai dit à catrice j'ai une erreur sur la ligne "Sheets("Feuil2").Copy After:=Sheets("devis " & i)"
à la troisieme suppression des nouvelles feuilles.
voir fichier joint un peu plus haut.
En vous remerciant pour votre aide @+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour