Activecell VBA

Gorfael

XLDnaute Barbatruc
Salut à tous
selection A1:B10
Comment faire (en VBA) pour savoir quelle est la cellule active ?
le fait de me déplacer dans la sélection (tab ou enter) ne déclenche aucun événement (à ma connaissance).
Si quelqu'un a une idée
A+
 

Dan

XLDnaute Barbatruc
Re : Activecell VBA

Bonjour,

Si j'ai bien compris ta demande, utilise ACTIVECELL

exemple :
Dim c as range (définition de la variable c)
For each c in range("A1:B10")
if activecell = 1 then ....'instruction à faire
next c

Bon appétit
 

JeanMarie

XLDnaute Barbatruc
Re : Activecell VBA

Bonjour

Gorfael, dans les événements de la feuille tu as Worksheet_SelectionChange, qui est justement l'événement qui est actif, quand la cellule active change de cellule.

L'objet Target de cette événement contient la cellule qui est sélectionnée, pour connaître l'adresse tu fais Target.address

@+Jean-Marie
 

Gorfael

XLDnaute Barbatruc
Re : Activecell VBA

jmps à dit:
Bonjour Gorfael, Dan, Jean-Marie,

Je n'ai pas compris comme vous Dan et JM. Je pense que Gorfael sélectionne une plage (A1:B10) et ensuite il se déplace dans cette plage à l'aide de TAB ou Entrée. Et il veut savoir quelle cellule de la plage est active.
Or, il a raison de dire que dans ce cas, aucun évènement ne se déclenche, y-compris Selection_Change. A moins que sur Mac ce ne soit différent ce qui m'étonnerait fort.

J'ai bien essayé de détourner les touches TAB et Entrée mais c'est pas évident car on déclenche bien la macro associée mais du coup le curseur ne se déplace pas. On pourrait le gérer dans la macro mais c'est usine à gaz car il faut gérer les dimensions variables de la sélection.

Maintenant faudrait voir le contexte. Si Gorfael peut nous en dire plus...
Salut à tous
C'est en répondant sur ce forum que j'ai coincé (je sais plus le sujet)
en gros, il fait suivre un texte à droite de la cellule active : pour ça il utilise l'événement SelectionChange. ça buggait si la sélection était supérieure à une cellule
=> solution : passer de Target (ou selection) à ActiveCell

Sauf que si on se déplace dans une sélection multiple, il n'y a pas d'événement, donc le texte ne suit pas
=> solution : interdire les sélections multiples
ça marche, mais...

Je ne suis pas satisfait, et donc je cherche une solution à travers un événement (s'il existe) qui serait déclenché par le changement de cellule active

Sinon, j'ai la solution de passer par un Timer tant qu'on a une sélection multiple, mais c'est assez capillo-tracté

Voilà tout le problème : C'est pas essentiel, mais on sait jamais, s'il existe une solution simple, ça peut toujours servir
A+
 

Discussions similaires

  • Résolu(e)
XL pour MAC VBA Excel
Réponses
3
Affichages
239

Statistiques des forums

Discussions
312 091
Messages
2 085 212
Membres
102 821
dernier inscrit
jos78410