• Initiateur de la discussion Initiateur de la discussion fire007
  • 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 !

fire007

XLDnaute Nouveau
Bonjour, tout est dit dans le titre ^^
Voila ce que je veux faire : Copier les cases de E10 à L10 de la feuille 1, et les coller sur les cases de C5 à J5 de la feuille 2.

Voila le code que j'ai créé :

Private Sub Calcul_Segment_A_Click()

Range("E10:L10").Select
Selection.Copy
Sheets("Feuil2").Select
Range("C5:J5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select

End Sub

Il est faux car ça me met une erreur 1004 " La méthode Select de la classe Range a échoué. et me surligne en jaune la ligne " Range("C5:J5").Select ".

P.S: J'ai fait un collage spécial pour ne copier que les valeurs.

Pouvez vous m'aider ?
 
Re : Copier-Coller

Bonjour fire007,

Il semble que tu lances ta macro depuis un bouton de la boite à outils contrôles, ce qui fait que le code de ta macro est situé dans la feuille du bouton
Lorsque le code se trouve dans celui d'une feuille, il n'aime pas beaucoup activer d'autres feuilles ce qui doit expliquer le plantage

ceci dit, tu peux copier/coller sans activer l'autre feuille :

Code:
Private Sub Calcul_Segment_A_Click()
 
Activesheet.Range("E10:L10").Copy
Sheets("Feuil2").Range("C5:J5").PasteSpecial Paste:=xlPasteValues,  _ 
   Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.cutcopymode = false
End Sub
 
Re : Copier-Coller

J'ai un autre petit soucis.
En fait je voudrais, lorsque je clique sur le bouton de ma feuille 1, les valeurs des cases J73, K73, R73 et X73 de la feuille 2 soient mises dans les cases C27, E27, G27 et I27, respectivement, de ma feuille 1.

Est ce possible ?

P.S: En fait je veux mettre ci à la suite du précédent, dans le but de faire une sorte de "boucle", avec en feuille 1 les données d'entrée et de sortie et en feuille 2 les tableaux et calculs.

Merci
 
Dernière édition:
Re : Copier-Coller

J'ai un peu bossé la dessus et voila ce que j'ai réussi à faire :

Code:
Sheets("Feuil2").Range("J73").Copy
ActiveSheet.Range("C27").PasteSpecial Paste:=xlPasteValues, _
   Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

Sheets("Feuil2").Range("K73").Copy
ActiveSheet.Range("E27").PasteSpecial Paste:=xlPasteValues, _
   Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

Sheets("Feuil2").Range("R73").Copy
ActiveSheet.Range("G27").PasteSpecial Paste:=xlPasteValues, _
   Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

Sheets("Feuil2").Range("X73").Copy
ActiveSheet.Range("I27").PasteSpecial Paste:=xlPasteValues, _
   Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

Sheets("Feuil2").Range("J134").Copy
ActiveSheet.Range("D27").PasteSpecial Paste:=xlPasteValues, _
   Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

Sheets("Feuil2").Range("K134").Copy
ActiveSheet.Range("F27").PasteSpecial Paste:=xlPasteValues, _
   Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

Sheets("Feuil2").Range("R134").Copy
ActiveSheet.Range("H27").PasteSpecial Paste:=xlPasteValues, _
   Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

Sheets("Feuil2").Range("X134").Copy
ActiveSheet.Range("J27").PasteSpecial Paste:=xlPasteValues, _
   Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

Le problème, comme vous pouvez le voir c'est que c'est énorme comme code, car celui-ci n'est que pour une seule ligne. Sachant que je dois le faire pour 8 boutons...

Je voulais donc savoir s'il y avait plus court.

Merci d'avance ^^
 
Re : Copier-Coller

Bonjour Fire,

ces 4 lignes feront la même chose que ta littérature du post précédent

Code:
Sheets("Feuil2").[C27] = [J73]
Sheets("Feuil2").[E27] = [K73]
Sheets("Feuil2").[G27] = [R73]
Sheets("Feuil2").[I27] = [X73]

il te reste à compléter pour les lignes 134

à+
Philippe

Edit:
petite rectification, il faut inverser toutes les lignes comme suit


[C27] = Sheets("Feuil2").[J73]
[E27] = Sheets("Feuil2").[K73]
[G27] = Sheets("Feuil2").[R73]
[I27] = Sheets("Feuil2").[X73]

................................
 
Dernière édition:
Re : Copier-Coller

Derniere petite question.
Est il possible de remplacer ce code (qui permet un copier-coller de cases d'une même ligne):

Code:
Activesheet.Range("E10:L10").Copy
Sheets("Feuil2").Range("C5:J5").PasteSpecial Paste:=xlPasteValues,  _ 
   Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.cutcopymode = false

par une de tes "formules magiques" ^^

Merci
 
Re : Copier-Coller

Re,

avec ceci:
Code:
Sheets("Feuil2").[c5] = [e10]
Sheets("Feuil2").[d5] = [f10]
Sheets("Feuil2").[e5] = [g10]
Sheets("Feuil2").[f5] = [h10]
Sheets("Feuil2").[g5] = [i10]
Sheets("Feuil2").[h5] = [j10]
Sheets("Feuil2").[i5] = [k10]
Sheets("Feuil2").[j5] = [l10]
mais je ne vois pas l'intérêt de remplacer tes 4 lignes par 8 autres


à+
Philippe

Edit:
Code:
Activesheet.Range("E10:L10").Copy
Sheets("Feuil2").Range("C5[SIZE=4][COLOR=red][B]:J5[/B][/COLOR][/SIZE]").PasteSpecial Paste:=xlPasteValues,  _ 
   Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.cutcopymode = false
ce qui est en rouge n'est peut-être pas nécessaire
 
Dernière édition:
Re : Copier-Coller

Ah je pensais qu'on pouvait faire plus court que 4 lignes, en remplacant par exemple ton [C5] par un [C5:J5]. Mais ca n'a pas l'air de fonctionner.
Dommage.
Merci de ton aide!

Edit:
Tu avais raison, ce qui était en rouge n'était pas nécessaire.
Merci
 
Dernière édition:
- 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

Réponses
18
Affichages
317
Réponses
10
Affichages
547
Réponses
2
Affichages
283
Réponses
17
Affichages
1 K
Réponses
1
Affichages
497
Retour