Probleme de selection de ligne dans Excel

Résolu
Utilisateur anonyme - 7 mai 2010 à 23:28
 Utilisateur anonyme - 8 mai 2010 à 23:56
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

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
8 mai 2010 à 02:18
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)
3
Utilisateur anonyme
8 mai 2010 à 23:56
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.
0