Selection.row d'une feuille non active

Bonjour,

dans une procédure vba (Dans un Userform), je souhaite récupérer le numéro de la ligne sélectionnée d'une feuille qui n'est pas active au moment d’exécution de la procédure.

Lorsqu'il s'agit de faire cette même opération pour récupérer le numéro de ligne de la feuille active, il s'agit du code Selection.row, mais est-il possible de le faire pour une feuille non active ?

J'ai bien évidemment essayé Sheets("NomDeMaFeuilleNonActive").Selection.row mais ça ne fonctionne pas.

Une idée ?

Bonjour,

Est-ce que tu as essayé :

Sheets("NomDeMaFeuilleNonActive").Activecell.row

Salut Piratman,

sauf erreur, pas prévu au programme VBA !

Plusieurs façons d'y remédier :

  • lors d'un événement SelectionChange(), inscrire dans une cellule précise de la feuille active l'adresse de la sélection ;
  • créer un tableau GLOBAL dans lequel tu inscris cette adresse à l'index correspondant à la feuille.

A+

Bonjour,

Noter que sur la feuille active, Selection.Row donne la première ligne de la plage sélectionnée.

Pour avoir la ligne de la cellule active, qui n'est pas toujours la première ligne de la sélection, il faut employer Activecell.Row

sauf erreur, pas prévu au programme VBA !

Salut curulis57,

J'ai été surpris par ta réponse, qu'est-ce que t'en penses :

Sub test()

[Feuil1].Activate
[A1] = "=CELL(""colonne"")"
MsgBox [A1]

[Feuil2].Activate
[A1] = "=CELL(""colonne"")"
MsgBox [A1]

[Feuil3].Activate
[A1] = "=CELL(""colonne"")"
MsgBox [A1]

End Sub

Bonjour,

Salut curulis57,

J'ai été surpris par ta réponse, qu'est-ce que t'en penses :

Que tu n'as pas bien lu la question de piratman :

« ... je souhaite récupérer le numéro de la ligne sélectionnée d'une feuille qui n'est pas active ... »

M'ouais... dans ce cas, je propose ça :

7cellule.xlsm (37.88 Ko)

Bonjour à tous, et merci pour vos différents messages.

VBA ne l'a pas prévu, mais ce qui est bien avec le VBA, c'est qu'il y a toujours moyen de bricoler quelques choses soit même !

Bonjour,

Est-ce que tu as essayé :

Sheets("NomDeMaFeuilleNonActive").Activecell.row

Ceci ne fonctionne pas et renvoie une erreur "Propriété ou méthode non gérée par cet objet"

Merci en tout cas oxydum pour ton classeur démo qui montre bien comment réaliser ça.

Je trouve ça un peu lourd pour la fonction à réaliser, mais ça fonctionne

Rechercher des sujets similaires à "selection row feuille active"