Copier Coller via Bouton de commande sur autre feuille

Bonjour à tous,

Encore besoin de votre aide ...

Je viens de réaliser un tableau de 7 colonnes dans lequel j'ajoute des valeurs de la ligne 2 à la ligne 6

sur la ligne 7 je récupère la somme de ces valeurs pour chaque colonne.

J'ai ajouté un bouton nommé Validé qui doit copier ces sommes sur la feuil2 sur la plage "A2:G2"

Sur ce bouton j'ai entré le code suivant:

Private Sub CommandButton1_Click()

Sheets("Feuil1").Select

Range("A7:G7").Select

Selection.Copy

Sheets("Feuil2").Select

Range("A2:G2").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Sheets("Feuil1").Select

Application.CutCopyMode = False

End Sub

Mon code plante sur la ligne 6 "Range("A2:G2").Select" ?

Voir fichier ci-joint

Merci pour votre aide

aalex85

Bonjour Aalex, bonjour le forum,

Écrit dans un module standard, ce code serait passé sans planter. Mais il est lancé depuis un composant onglet (Feuil1(Feuil1). Il a planté car dans ce cas tu ne peux pas sélectionner une plage en dehors de l'onglet qui contient la macro sans spécifier le nom de l'onglet au préalable.

Au départ l'onglet de la macro est Feuil1 donc :

Sheets("Feuil1").Select
Range("A7:G7").Select

ne pose pas de problème. Ensuite tu sélectionnes l'onglet Feuil2 et là, il faudrait écrire :

Sheets("Feuil2").Select
Sheets("Feuil2").Range("A2:G2").Select

ou

Sheets("Feuil2").Select
Activesheet.Range("A2:G2").Select

Mais il faut absolument éviter les Select inutiles qui ne font que ralentir l'exécution du code !... Ton code peut s'écrire :

Private Sub CommandButton1_Click()
Sheets("Feuil1").Range("A7:G7").Copy
Sheets("Feuil2").Range("A2:G2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Application.CutCopyMode = False
End Sub

Bonjour,

Private Sub CommandButton1_Click()
    Sheets("Feuil1").Range("A7:G7").Copy
    Sheets("Feuil2").Range("A2:G2").PasteSpecial xlPasteValues
End Sub

Cordialement

Merci ThauThème pour ta réponse, mais également pour ton explication

le code fonctionne maintenant parfaitement

Cordialement

aalex85

Bonjour Mferrand,

Je te remercie également pour ta réponse

J'ai testé ton code qui fonctionne également parfaitement.

Par contre la sélection des cellules à copier reste actives sur la feuil1

Cordialement

aalex85

Tu rajoutes :

Application.CutCopyMode = False

C'est effectivement un des 2 seuls cas ou cette commande (qui a pour effet de vider le presse-papier) est utile : faire disparaître le marquage actif de la zone de sélection. [L'autre cas c'est lorsqu'on ferme derrière, pour éviter le message : "Voulez-vous conserver les données copiées,..."

Cordialement

Bonjour MFerrand,

Merci pour ton explication

Je te confirme que ça fonctionne parfaitement

Cordialement

aalex85

Rechercher des sujets similaires à "copier coller via bouton commande feuille"