Utilisation d'une macro dans un bouton

  • Initiateur de la discussion leriderfoudu77
  • Date de début
L

leriderfoudu77

Guest
Bonjour a Tous !!

J'ai deja posté déjà ce probleme hier en pensant que je m'en sortirais a la fin mais finalement on me demande un bouton..je n'ai pas le choix...

Donc mon probleme et que j'ai fait une macro qui copie simplement une ligne d'une feuille d'un classeur sur une autre feuille......

Simplement lorsque je recopie le code de la macro (que j'ai enregistrer en deplaçant la souris donc le code se genere tout seul ) dans l'execution du code apres un clic sur le bouton j'ai a chaque fois une erreur : "la methode select de la classe range a echoué"

voila mon code de macro (c'est un exemple allégé) qui genere l'erreur precedement citée :

Private Sub CommandButton1_Click()
Rows("4:4").Select
Selection.Copy
Windows("Classeur3").Activate
Rows("8:8").Select---------------------------->erreur
ActiveSheet.Paste
Range("A11").Select
End Sub

Voila d'avance merci.
Bonne journée.
leriderfoudu77.
 
J

Jocelyn

Guest
Bonjour le Forum,
Bonjour leriderfoudu77,

J'ai fait un essai avec ton code et il fonctionne bien je te le joint en pièce jointe.
Je suppose donc qu'il doit manquer des information dans ton énoncé.
Mais bon comme je suis débutant il faut voir

A+
Jocelyn
 

Pièces jointes

  • Classeur1.zip
    7.5 KB · Affichages: 17
  • Classeur1.zip
    7.5 KB · Affichages: 17
  • Classeur1.zip
    7.5 KB · Affichages: 19
L

leriderfoudu77

Guest
Bonjour Jocelyn,
Merci de ta reponse si rapide :)
Mais c'est etrange ton code ne foncionne pas non plus sa me fait une erreur :" l'indice n'appartient pas a la selection" à cet endroit :

Private Sub CommandButton1_Click()
Rows("4:4").Select
Selection.Copy
Windows("Classeur1").Activate--------------->erreur
Rows("8:8").Select
ActiveSheet.Paste
Range("A11").Select
End Sub

je t'ai joint un exemple que j'ai fait il y a deux boutons un qui copie une ligne ds la meme feuille et le second dans la feuille deux...
Il y a les macros egalement a sa voir la macro 1 qui copie ds la feuille et la deux qui copie ds la feuille 2...

sa vient peut etre d'une version d'excel diferente...j'ai Excel 200 9.0.3821 SR1 et VB 6.0.8714....

Bien encore merci de ta reponse
@+
Leriderfoudu77
 

Pièces jointes

  • Classeur4.zip
    11.5 KB · Affichages: 16
  • Classeur4.zip
    11.5 KB · Affichages: 19
  • Classeur4.zip
    11.5 KB · Affichages: 16
G

Gérard DEZAMIS

Guest
Bonjour Jocelyn et LRFD77

Un petit essai car le mystère subsiste
j'ai essayé en VBA et en Bouton formulaire. Le second fonctionne et le premier plante toujours !

J'ai essayé ce matin sur 98, XP sera por ce soir ....
A moins que vous n'ayez trouvé l'astuce avant
@+
GD
 

Pièces jointes

  • LeRiderFou.zip
    14.5 KB · Affichages: 18
M

Michel_M

Guest
Bonjour Le rider, Jocelyn, Gérard et le forum

Lorsque on utilise le bouton VBA, on est lié a la feuille et si on change de feuille ou de classeur, on plante... Il vaut donc mieux mettre le code dans un module.

Si on a un classeur "source.xls" et "cible.xls"

1/dans source feuil1 par exemple et bouton VBA

Private Sub CommandButton1_Click()
copier_ligne
End Sub

2/dans un module toujours dans source , on crée une variable "tampon" qui évite le "select copy paste" particulièrement long

Sub copier_ligne()
Dim tampon As Variant

tampon = Range("4:4")
Windows("cible.xls").Activate
Range("3:3") = tampon

End Sub

A+
Michel
 
L

leriderfoudu77

Guest
Yeah Michel,
Tres grand merci tu as resolu mon probleme :-D
T'iras loin en VB excel macro toi...lol
Aller encore grand merci a toi , a Jocelyn,a Gérard et au forum
tout marche parfaitement desormais
bonne continuation et longue vie a XLD !!!!
 

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 879
Membres
103 981
dernier inscrit
vinsalcatraz