Copie de plage de cell d'une feuille a une autre

  • Initiateur de la discussion Initiateur de la discussion Toutou
  • Date de début Date de début

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 !

Toutou

XLDnaute Occasionnel
Bonjour a tous,

J'ai fait une procedure qui me permet de copier des valeurs d'une feuille a une autre dans un meme fichier excel. Cependant, elle ne fonctionne pas comme je le souhaite:

Dans une feuille, j'ai des donnees qui s'ajoute au fur et a mesure. La derniere ligne varie donc souvent. La plage concernee est A3:Y?
Sur une seconde feuille, il y a un bouton de commande qui a pour but de copier la plage A3:Y? de la 1ere feuille et de la copier a partir de la cellule A10.

J'ai fait des essais avec des valeurs a copier sur la plage A3:Y5 et ca ne marche pas": quand je clique sur ce fameux bouton de commande, la plage qui est copiee est A1:Y3.

Voici mon code:

Private Sub CommandButton1_Click()

Dim MySelection As Range

Worksheets("Spare Parts").Activate

Set MaSelection = Worksheets("Spare Parts").Range("A3:Y" & Range("Y65536").End(xlUp).Row)

MsgBox (MaSelection.Address)
MaSelection.Select
Selection.Copy
Sheets("Presentation").Select
Range("A10").Select
ActiveSheet.Paste

end sub


Pourriez vous me dire quelle est mon erreur SVP?

D'avance merci et bonne journee

Toutou
 
Re : Copie de plage de cell d'une feuille a une autre

Salut Toutou, le Forum

Pas sur d'avoir compris mais essaye ce code

Code:
Option Explicit
Private Sub CommandButton1_Click()

Dim MaSelection As Range
Set MaSelection = Sheets("Spare Parts").Range("A3:Y" & Sheets("Spare Parts").Range("A65536").End(xlUp).Row)

[COLOR=Green]' MsgBox (MaSelection.Address)[/COLOR]
MaSelection.Copy Destination:=Sheets("Presentation").Range("A10")

End Sub
Dans ton code
1 Mauvaise déclaration de Variable MaSelection (Dim MySelection as Range)

2 Set MaSelection = Worksheets("Spare Parts").Range("A3:Y" & Worksheets("Spare Parts").Range("Y65536").End(xlUp).Row)

là il manque la partie en Bleu

3 les Select et Activate sont a éviter le plus possible ils sont souvent source de problème

on peux remplacer
Code:
MaSelection.Select
Selection.Copy
Sheets("Presentation").Select
Range("A10").Select
ActiveSheet.Paste
par

Code:
MaSelection.Copy Destination:=Sheets("Presentation").Range("A10")
Bonne Journée
 
Re : Copie de plage de cell d'une feuille a une autre

Salut Dull,

merci de tes conseils.
J'ai change mon code, mais malheureusement le resultat est le meme:
c'est la plage A1:Y3 qui est copiee.


Option Explicit
Private Sub CommandButton1_Click()

Dim MySelection As Range

Set MySelection = Worksheets("Spare Parts").Range("A3:Y" & Worksheets("Spare Parts").Range("Y65536").End(xlUp).Row)

MySelection.Copy Destination:=Sheets("Presentation").Range("A10")

End Sub


Y a t il d'autres modif a apporte du fait que je tourne sur Office 2007 ?
 
Re : Copie de plage de cell d'une feuille a une autre

Re Toutou

Peux tu mettre un extrait de ton fichier pour voir ce qui ce passe?

EDITION: je joint mon fichier au cas ou cela pourrait t'aider

Bonne Journée
 

Pièces jointes

Dernière édition:
Re : Copie de plage de cell d'une feuille a une autre

Re,

Finalement ca marche:
les colonnes W a Y etaient vides.
J'ai donc remplace le Y par V pour ne plus copier que la plage A3:V6 au lieu de A3:Y6 et ca marche.

Je ne comprends cependant pas pourquoi le fait d'avoir une partie de la plage vide, change la plage de selection a copier...

etrange l'informatique parfois...

merci pour ton aide Dull
 
Re : Copie de plage de cell d'une feuille a une autre

Re toutou

Rien de bien étrange dans cela 😉

si tu avait bien regardé mon poste #2 tu aurais remarqué que j'avais modifié ta plage
Code:
Worksheets("Spare Parts").Range("A3:Y" & Worksheets("Spare Parts").Range("[B][COLOR=Red]Y[/COLOR][/B]65536").End(xlUp).Row)
par

Code:
Sheets("Spare Parts").Range ("A3:Y" & Sheets("Spare Parts").Range("[COLOR=Red][B]A[/B][/COLOR]65536").End(xlUp).Row)
car je me doutais que la colonne de référence était la Colonne A : celle qui était pleine de bout en bout 🙂

Bonne Journée
 
- 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