Macro copier coller une plage
Résolu
rached2014
Messages postés
2
Statut
Membre
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonjour je m'adresse à vous les spécialiste ou amateur du VBA
j'ai un petit problème, j'ai un fichier excel qui contient plusieur feuilles je voudrai copier une plage des cellules (a7:a20) et sauter 34 lignes puis copier la plage (a41:a54) etc.... jusu'au la ligne 17000.
j'ai reussi à faire une macro dont les détails ci-après, cette macro est tres lente dans son execution puisque je n'ai pas pu copier la plage, j'ai copier ligne par ligne
c'est très long ....
merci pour votre aide
Public Sub m1()
h = 2
For I = 7 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m2()
h = 3
For I = 8 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m3()
h = 4
For I = 9 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m4()
h = 5
For I = 10 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m5()
h = 6
For I = 11 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m6()
h = 7
For I = 12 To 1700 Step 34
Sheets("bltar").Range("D" & I).copy
Sheets("valtar").Range("B" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m7()
h = 8
For I = 13 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m8()
h = 9
For I = 14 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m9()
h = 10
For I = 15 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m10()
h = 11
For I = 16 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m11()
h = 12
For I = 17 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m12()
h = 13
For I = 18 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m13()
h = 14
For I = 19 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m14()
h = 15
For I = 20 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Sub mymacros()
m1
m2
m3
m4
m5
m6
m7
m8
m9
m10
m11
m12
m13
m14
End Sub
j'ai un petit problème, j'ai un fichier excel qui contient plusieur feuilles je voudrai copier une plage des cellules (a7:a20) et sauter 34 lignes puis copier la plage (a41:a54) etc.... jusu'au la ligne 17000.
j'ai reussi à faire une macro dont les détails ci-après, cette macro est tres lente dans son execution puisque je n'ai pas pu copier la plage, j'ai copier ligne par ligne
c'est très long ....
merci pour votre aide
Public Sub m1()
h = 2
For I = 7 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m2()
h = 3
For I = 8 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m3()
h = 4
For I = 9 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m4()
h = 5
For I = 10 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m5()
h = 6
For I = 11 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m6()
h = 7
For I = 12 To 1700 Step 34
Sheets("bltar").Range("D" & I).copy
Sheets("valtar").Range("B" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m7()
h = 8
For I = 13 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m8()
h = 9
For I = 14 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m9()
h = 10
For I = 15 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m10()
h = 11
For I = 16 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m11()
h = 12
For I = 17 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m12()
h = 13
For I = 18 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m13()
h = 14
For I = 19 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Public Sub m14()
h = 15
For I = 20 To 1700 Step 34
Sheets("bltar").Range("A" & I).copy
Sheets("valtar").Range("D" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("b" & I).copy
Sheets("valtar").Range("G" & h).PasteSpecial Paste:=xlValues
Sheets("bltar").Range("E" & I).copy
Sheets("valtar").Range("H" & h).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
h = h + 14
Next
End Sub
Sub mymacros()
m1
m2
m3
m4
m5
m6
m7
m8
m9
m10
m11
m12
m13
m14
End Sub
A voir également:
- Macro copier coller une plage
- Historique copier coller - Guide
- Copier-coller - Accueil - Informatique
- Copier coller pdf - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Style d'écriture a copier coller - Guide
2 réponses
Bonjour
Pour copier les plages A7:A20, ..... en un coup
RQ. Application.ScreenUpdating = False
decactive la maj de l'écran (ça réduit le temps d'exécution)
Cdlmnt
Pour copier les plages A7:A20, ..... en un coup
Application.ScreenUpdating = False
For I = 7 To 1700 Sheets("bltar").Range("A" & I & ":A" & I + 13).Copy
etc ...
Next I
Application.ScreenUpdating = False
End Sub
RQ. Application.ScreenUpdating = False
decactive la maj de l'écran (ça réduit le temps d'exécution)
Cdlmnt
ça bien marché !!!
exécution en 10 sec au lieu de 3 minutes
très bien