VBA - Copie de cellules d'une feuille à une autre

Le
Calou
Bonjour,

Voilà, je voulais savoir comment faire pour copier des cellules par
forcément contigues d'une feuilles à une autre.

Dites moi ce que je dois mettre pour y arriver

Un grand merci à vous pour votre aide.

Bonne journée

Philippe
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ellimac
Le #19043151
Bonjour,

Sub Copie()
Range("a1:h1", "k1:n1").Copy Sheets(2).Range("a1")
End Sub

Camille

"Calou" eO2K%
Bonjour,

Voilà, je voulais savoir comment faire pour copier des cellules par
forcément contigues d'une feuilles à une autre.

Dites moi ce que je dois mettre pour y arriver

Un grand merci à vous pour votre aide.

Bonne journée

Philippe



MichDenis
Le #19043801
Bonjour Calou,

Voici une des façons de faire...
'------------------------------------------
Sub test()

'Feuil1 -> nom de l'onglet de la feuille source
'Feuil2 -> nom de l'onglet de la feuille destination
Application.EnableEvents = False
With Worksheets("Feuil1")
'Tu peux lister toutes les plages discontinues que
'tu veux copier vers leur destination. La destination
'peut se faire sur des feuilles différentes, voir des
'classeurs différents si ces derniers sont ouverts
.Range("A1").Copy Worksheets("Feuil2").Range("A1")
.Range("C2:G5").Copy Worksheets("Feuil2").Range("C2:G5")
'Exemple destination -> autre classeur
.Range("H2:P25").Copy _
Workbooks("AutreClasseur.xls").Worksheets("Feuil2").Range("A1")
End With
Application.EnableEvents = True
End Sub
'------------------------------------------

Pour définir la plage de destination, tu peux te contenter de nommer seulement
la première cellule à partir de laquelle les données seront collées.




"Calou" eO2K#
Bonjour,

Voilà, je voulais savoir comment faire pour copier des cellules par
forcément contigues d'une feuilles à une autre.

Dites moi ce que je dois mettre pour y arriver

Un grand merci à vous pour votre aide.

Bonne journée

Philippe
MichDenis
Le #19044391
Bonjour Ellimac,

Ton exemple fonctionne, mais il représente un cas spécial.

La raison : les 2 plages sources sont sur la même ligne ou
devrais-je dire, le même nombre de lignes et l'une à côté de l'autre.
Ceci ne fonctionne pas ;
Range("A1:B1,D1:F2").Copy Worksheets("Feuil3").Range("A1")
ceci fonctionne :
Range("A1,D1,F1,H1").Copy Worksheets("Feuil3").Range("A1")
Dans la plage de destintion, il n'y aura plus de cellules vides...
entre les plages.

Cela s'applique aussi dans le cas des colonnes
les 2 plages ont le même nombre de colonnes mais elles doivent
en plus être l'une en dessous de l'autre.
Ceci fonctionne et dans la plage de destination, il n'y aura pas
de lignes vides...
Range("A1:C10,A15:C25").copy Worksheets("Feuil3").Range("A1")
Cet exemple ne fonctionne plus, Elles n'ont plus le même nombre de colonnes
Range("A1:C10,A15:d25").Copy Worksheets("Feuil3").Range("A1")











"Ellimac" :
Bonjour,

Sub Copie()
Range("a1:h1", "k1:n1").Copy Sheets(2).Range("a1")
End Sub

Camille

"Calou" eO2K%
Bonjour,

Voilà, je voulais savoir comment faire pour copier des cellules par
forcément contigues d'une feuilles à une autre.

Dites moi ce que je dois mettre pour y arriver

Un grand merci à vous pour votre aide.

Bonne journée

Philippe



philou36
Le #19044821
On 3 avr, 11:34, "MichDenis"
Bonjour Ellimac,

Ton exemple fonctionne, mais il représente un cas spécial.

La raison : les 2 plages sources sont sur la même ligne ou
devrais-je dire, le même nombre de lignes et l'une à côté de l'au tre.
Ceci ne fonctionne pas ;
Range("A1:B1,D1:F2").Copy Worksheets("Feuil3").Range("A1")
 ceci fonctionne :
Range("A1,D1,F1,H1").Copy Worksheets("Feuil3").Range("A1")
Dans la plage de destintion, il n'y aura plus de cellules vides...
entre les plages.

Cela s'applique aussi dans le cas des colonnes
les 2 plages ont le même nombre de colonnes mais elles doivent
en plus être l'une en dessous de l'autre.
Ceci fonctionne et dans la plage de destination, il n'y aura pas
de lignes vides...
Range("A1:C10,A15:C25").copy Worksheets("Feuil3").Range("A1")
Cet exemple ne fonctionne plus, Elles n'ont plus le même nombre de colo nnes
Range("A1:C10,A15:d25").Copy Worksheets("Feuil3").Range("A1")

"Ellimac" :
Bonjour,

Sub Copie()
    Range("a1:h1", "k1:n1").Copy Sheets(2).Range("a1")
End Sub

Camille

"Calou" eO2K%



> Bonjour,

> Voilà, je voulais savoir comment faire pour copier des cellules par
> forcément contigues d'une feuilles à une autre.

> Dites moi ce que je dois mettre pour y arriver

> Un grand merci à vous pour votre aide.

> Bonne journée

> Philippe- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour,

Un grand merci à tous pour votre précieuse aide. Je verrai tout ca ce
soir chez moi !!
Publicité
Poster une réponse
Anonyme