Probleme de selection de ligne dans Excel [Résolu]

Signaler
-
 Utilisateur anonyme -
Bonjour à tous,

Pour commencer, une précision : je débute...

Je suis en train de me faire un doc excel et voila mon problème :

J'ai un bouton "Valider" dans une feuille, et je veux qu'en l'activant, il me sélectionne la ligne 4 sur une autre feuille "Invités".

Voila ce que j'ai comme code :

Private Sub Valider_Click()
Sheets("Invité").Select
Rows("4:4").Select
Selection.Copy
Sheets("Liste").Select
Rows("4:4").Select
Selection.Paste
Sheets("Liste").Select
End Sub


Le programme bloque à la 3eme ligne (Rows("4:4").Select). Erreur 1004

Pourtant c'est bien la ligne de l'enregistreur de macro, et également une ligne trouvée sur le net.

Quelqu'un peut m'aider ?

Merci.

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
75
Salut
Oui, c'est amusant.
Si on utilise cette syntaxe sur la feuille actuellement affichée, ça passe, mais une autre feuille, erreur 1004.
J'ai essayé en appelant la feuille par son index, idem.
Feuil1 (index 1), ça passe
Feuil2 (index 2), ça plante.
Amusant

J'ai pensé au début que Rows n'était pas la bonne méthode (j'aurai mieux vu Range), mais c'est vrai que l'enregistreur de macro l'utilise, et Range délivre la même erreur.
Un DoEvents n'y fait rien.

Ah, ça y est :
Après le Select de la feuille, il faut faire référence à ActiveSheet :
Sheets("Invité").Select
ActiveSheet.Rows("4:4").Select 

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Merci.
En fait j'avais fait autrement. Désolé d'ailleurs de ne pas l'avoir précisé ici.

Voila ce que j'ai fait :
Sheets("Invité").Rows("4:4").Copy Destination:=Sheets("Invité_nom").Rows("4:4")

Et ça, ça fonctionne.
Merci quand même d'avoir cherché. La prochaine fois je préciserai si je trouve.

Merci.