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

4 réponses
Avatar
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

4 réponses

Avatar
Ellimac
Bonjour,

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

Camille

"Calou" a écrit dans le message de news:
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



Avatar
MichDenis
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" a écrit dans le message de groupe de discussion :
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
Avatar
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'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" a écrit dans le message de groupe de discussion
:
Bonjour,

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

Camille

"Calou" a écrit dans le message de news:
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



Avatar
philou36
On 3 avr, 11:34, "MichDenis" wrote:
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" a écrit dans le message de gr oupe de discussion
:
Bonjour,

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

Camille

"Calou" a écrit dans le message de news:
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 !!