Comment identifier la cellule ayant déclenché ma macro ?

J

Jach

Guest
Bonjour,
quelqu'un saurait-il comment récupérer dans une Macro VBA les valeurs Row et Column de la cellule l'ayant déclenché (Cette macro est utilisée dans plusieurs cellule, comme formule) ?
Merci pour votre aide...
Jach
 
@

@+Thierry

Guest
Salut Jach et le Forum

Vite fait entre deux jobs...

Heuf ta question n'est pas claire ? Pour qu'une cellule "Déclenche" une macro... C'est qu'il s'agit d'une macro évènementielle... Ca c'est un fait !

Maintenant si tu nous précise de quelle macro évènementielle il s'agit se serait un plus... (Worksheet_Change, Worksheet_SelectionChange, Calculate etc)

Bon sinon pour te répondre :

ActiveCell.Row
ActiveCell.Column

retournent respectivement le numéro de ligne et celui de la colonne de la cellule active ...

Bonne Soirée
@+Thierry
 
J

Jach

Guest
J'essaie d'être plus clair...

Merci pour ton interêt.
ActiveCell.Row et ActiveCell.Column identifient la cellule active et non pas celle qui déclenche ma macro.
En fait il ne s'agit pas d'une macro évènementielle mais d'une macro standard, je l'appelle depuis n cellules par le biais d'une formule ("=MaMacro(Col)" ou Col est un Array ex : "A1:A10" )
Je ne sais pas si je suis plus clair...
 
@

@+Thierry

Guest
Re: J'essaie d'être plus clair...

Re Salut Jach

Je ne saisis pas vraiment, il serait souhaitable de poster le code entier, car là j'imagine que ta "Macro Standard" boucle sur une plage de cellules ? mais quand tu dis "par le biais d'une Formule..." je ne vois pas ce qu'elle déclenche ?

sorry, j'ai eu (et n'ai pas fini) une journée d'enfer... suis ptet un peu fatigué...

@+Thierry
 
@

@Christophe@

Guest
Bonsoir Jacht et VBAMan Thierry

Dsl de vous interompre, Thierry, pourrais tu jété un oeil sur le lien suivant:

<http://www.excel-downloads.com/html/French/forum/messages/1_18268_18268.htm>

J'ai crée le fichier helpme.Zip pour aider David, mais j'aimerai appliqué ma recherche sur toutes les pages et cela je n'y arrive pas, si tu pouvais me consacré quelque minutes de ton précieux temps, parce que vraiment, j'ai cherché, mais rien a faire, je trouve pas.

Mille Merci Thierry

Et dsl de couper en plein millieux de ton fil Jach

Bonne soiré a vous deux

@Christophe@
 
J

Jach

Guest
Ma macro

Pas de soucis Christophe...
Thierry, je ne veux pas te pourir la soirée, alors laisse tomber. Pour la macro je ne l'ai pas sous les yeux mais pour info elle ressemblerai à :

Function Macro(col As Variant) As Variant
For Each o In col
lStr = lStr & o
Next
Macro = lStr
End Function

Tu mets ensuite la formule suivante dans la case A1 par exemple
=Macro(A2:A10)

La macro est alors déclenchée si tu écris qqchose entre A2 et A10. C'est sympa mais personnellement, j'utilise plusieurs cellules comme A1 avec d'autres plages que A2:A10 . Genre C5 qui contiendrait =Macro(Q5:Q14) par exemple et je veux savoir depuis quelle cellule a été déclenchée Macro()

Merci pour le temps consacré, je pense que je vais essayer de contourner ce problème tordu. Je te souhaite une excellente soirée.
A+
Jach
 
@

@+Thierry

Guest
Re: Ma macro

Re Salut Jach

No problemo !!

Je n'avais à aucun moment pensé que tu parlais d'un "Function" (lol)

pour récapituler en fait il faudrait faire un autre function alors qui au lieu d'additionner un résultat, elle, concatenerait les adresses des cellules... ou bien faire juste une macro avec un message box...

bonne nuit
@+Thierr
 
J

Jean-Marie

Guest
Re: Ma macro

Bonjour, tout le monde

Pourquoi ne passer la référence de la cellule à ta fonction.

Si la fonction ce trouve en A1, la formule serait =Macro(A2:A10;A1)

Moi je ne connais pas VBA, mais en macro-commande, avec argument c'est facile.

@+Jean-Marie
 

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 078
Membres
103 111
dernier inscrit
Eric68350