OVH Cloud OVH Cloud

Copier

3 réponses
Avatar
s
Bonjour ,
voici ma question :
Je voudrais selectionner ("A8:D65") dans plusieurs feuilles copier la
selection et la coller dans une nouvelles feuilles.
Si quelqu'un pouvait me donner le code vba correspondant merci.
Merci pour vos réponses

3 réponses

Avatar
garnote
Bonjour s,

Un exemple :
Cette macro copie l'une sous l'autre le contenu des plages A8:D65
des quatre premières feuilles d'un classeur sur une nouvelle feuille
placée après la dernière feuille du classeur.

Sub Copier()
NL = Sheets(1).Range("A8:D65").Rows.Count
Sheets.Add After:=Worksheets(Worksheets.Count)
Set la = ActiveSheet.Range("A8")
For i = 1 To 4
Sheets(i).Range("A8:D65").Copy la.Offset(NL * (i - 1), 0)
Next i
End Sub

Cela te convient-il ?

Serge


"s" a écrit dans le message de news:
Bonjour ,
voici ma question :
Je voudrais selectionner ("A8:D65") dans plusieurs feuilles copier la
selection et la coller dans une nouvelles feuilles.
Si quelqu'un pouvait me donner le code vba correspondant merci.
Merci pour vos réponses


Avatar
s
Bonjour "garnote"
super merci ; vous etes génial merci ;si ce n'est pas trop abuseZ que
faudrait-il rajouter pour ne pas coller de ligne vide.
En tous cas merci beaucoup
Avatar
garnote
ReBonjour,

Essaie ceci :

Option Base 1
Sub Copier_Sans_Lignes_Vides()
Dim feuilles As Variant
Application.ScreenUpdating = False
'Ajoute une feuille
Sheets.Add After:=Worksheets(Worksheets.Count)
'Plage à copier
plage = "A8:D65"
'Ligne du début de la copie
L = 8
Set la = ActiveSheet.Range("A" & L)
'Numéros des feuilles à copier
feuilles = Array(1, 2, 4)
NL = Sheets(feuilles(1)).Range(plage).Rows.Count
NC = Sheets(feuilles(1)).Range(plage).Columns.Count
n = UBound(feuilles)
For i = 1 To n
Sheets(feuilles(i)).Range(plage).Copy la.Offset(NL * (i - 1), 0)
Next i
Set ici = Range(Cells(L, 1), Cells(L + n * NL, NC))
n = ici.Rows.Count
'Enlève les lignes vides
For i = n To 1 Step -1
k = 0
For j = 1 To NC
If ici(i, j) = "" Then k = k + 1
Next j
If k = NC Then ici.Rows(i).Delete
Next i
End Sub

Serge


"s" a écrit dans le message de news:
Bonjour "garnote"
super merci ; vous etes génial merci ;si ce n'est pas trop abuseZ que
faudrait-il rajouter pour ne pas coller de ligne vide.
En tous cas merci beaucoup