Trouver la dernière cellule modifiée !

P

Poulpe

Guest
Bonjour à tous, j'aurais aimé savoir quel est le code VB pour déterminer avec exactitude la dernière cellule que l'utilisateur à modifier sachant que rechercher la cellule active ne fonctionne pas puisque l'utilisateur peut modifier une cellule puis cliquer n'importe où ailleurs !! Donc si qq1 à la solution, je le remercie par avance !
 
A

andré

Guest
Salut Sylsyl,

Ne t'énerves pas, c'est pas hasard que je suis tombé dessus (comme Astérix dans la potion magique) en cherchant autre chose (pour le sport dirait Celeda).

Une question posée par C@thy il y a quelques temps, sans réponse, et réapparue il y a quelques jours sur XLD, toujours sans réponse :

De A1 à A10 : 10, 20 ,30 ... 100
En B1 : 30
En C1 (ou autre part) une formule me renvoyant l'adresse de la cellule dans la plage qui contient la même valeur que mon critère (B1), soit $A$3.
J'ai beau essayer de mélanger des "CELLULE" avec des "RECHERCHEV" et un ceste de "INDIRECT", mais je ne trouve pas !

Demain peut-être, ou bien plus tard ...
Ândré.
 
S

sylsyl

Guest
Je ne m'enerve pas du tout (j'm'explique lol)

En vba ton pb est assez facile (methode marteau) par contre en formule, j'y connais rien du tout...

En relisant la totalite du fil je me suis appercu que c'etait poulpe qui avait employe ce terme et pas toi... mille excuses.

A++, sylsyl.
 
A

andré

Guest
Salut Celeda,

Tu dois d'abord placer la formule dans une cellule quelconque, puis en modifier une autre.

C'est logique, parce que si tu fais le contraire (taper ta formule pour obtenir la dernière modification), la dernière cellule modifiée est celle dans laquelle tu as placé ta formule !

Me suis-je fais comprendre ?
Vois aussi l'aide Microsoft (Cellule), c'est là que je suis tombé dans la potion magique (au millieu de la page).

Bonne journée.
Ândré.
 
C

Celeda

Guest
Bonjour,

Bisous bisous bisous bisous André : cela fonctionne !!!

=INDIRECT(CELL("address"))

cela retourne bien la dernière valeur changée - très applicable dans une database retouchée au jour le jour mais il est vrai André que si on a le numéro de la ligne et de la colonne on aura la cerise sur le gateau.

Thanks a lot

Celeda
 
J

Jean-Marie

Guest
Bonsoir, tout le monde

Super André, je ne connaissais pas cette fonction sans indiquer la référence de la cellule.

Pour répondre à ta question, =LIGNE(INDIRECT(CELLULE("adresse"))) et =COLONNE(INDIRECT(CELLULE("adresse"))). Voilà le gâteau paré d'une jolie cerise.

Bonne soirée

@+Jean-Marie
 
C

Celeda

Guest
Bonjour,

Eh eh eh un autre poutoune...Quel bonheur !!

C'est André qui va être content : alors maintenant on a bien

=INDIRECT(CELL("address")) = renvoie ce qui a été inscrit dans la cellule

=ROW(INDIRECT(CELL("address"))) = renvoie le numéro de la ligne


=COLUMN(INDIRECT(CELL("address"))) = renvoie le numéro de la colonne mais si on veut avoir plutôt E ou A et pas 1 ou 5,
penses-tu que cela soit possible et le fun du fun

j'ai essayé de mettre les deux dans la même cellule soit une concaténation mais ce fut n'importe quoi que je fis et donc je decida de t'en parler JM, and do not laugh please - I am not The FormulaLady (it's Monique, not me) :

=COLUMN(INDIRECT(CELL("address")&ROW(INDIRECT(CELL("address")))))

Is it possible ?

Thanks a lot !!!!
Celeda
 
J

Jean-Marie

Guest
Bonsoir, ou Bonjour

CELLULE("ADRESSE") retourne une chaîne alphanumérique.

Si la cellule est dans la même feuille, la chaîne sera composée de la colonne et de la ligne $A$1.

Pour la colonne =STXT(CELLULE("ADRESSE");2;CHERCHE("$";CELLULE("ADRESSE");2)-2), le 3ème argument indique le nombre de caractères, il faut retirer 2 caractères, pour avoir le nombre exacte.

Maintenant la cellule modifiée n'appartient pas à la feuille qui contient la formule, la formule CELLULE("ADRESSE") retourne le nom du fichier entre [], le nom de la feuille et l'adresse de la cellule.

=STXT(CELLULE("ADRESSE");CHERCHE("$";CELLULE("ADRESSE");1)+1;CHERCHE("$";STXT(CELLULE("ADRESSE");CHERCHE("$";CELLULE("ADRESSE");1)+1;NBCAR(CELLULE("ADRESSE"))))-1)

@+Jean-Marie
 
P

Poulpe

Guest
Bonsoir à tous !!!

Quand j'ai posé mon post, je ne penserai pas qu'il y aurait un tel engouement pour me répondre en tout je vous remercie tous car maintenant j'ai plusieurs solutions pour mon problème ! Je n'ai plus qu'à modifier mon fichier pour que cela fonctionne !!!

Il est vraiment cool ce forum !

A++ et bonne continuation !
 
A

andré

Guest
Resalut à tous,

La petite cerise sur le gâteau.
Grace à Valérie et à Jean-Marie (que je remercie au passage) !

=CAR(COLONNE(INDIRECT(CELLULE("adresse")))+64)&LIGNE(INDIRECT(CELLULE("adresse")))

Cette formule renvoie l'adresse de la dernière cellule modifiée sous le format A1.

Ceci étant résolu, je continue à chercher l'adresse d'une cellule trouvée par un RECHERCHEV, au lieu de son contenu.

A bientôt (sous un autre post) pour la solution.

Ândré.
 
Z

Zon

Guest
Re:

Salut,

Je m'ennuyais cette nuit(insomnie), je regarde vos formules et je trouve l'application trés intéressante pour savoir où on a modifié sa dernière cellule (sans VBA).
Par contre en testant la formule à Jean Marie me donne la ou les bonnes de lettre de colonne sans le n° de ligne (lhistoire de l'adresse du fichier ne fonctionne pas).
Donc j'ai testé celle d'André qui ne fonctionne que jusqu'à la colonne Z du fait de travailler avec le code Ascii (+64). En regroupant les 2, on a donc le bon résultat:

=STXT(CELLULE("ADRESSE");CHERCHE("$";CELLULE("ADRESSE");1)+1;SI(COLONNE(INDIRECT(CELLULE("ADRESSE")))>26;2;1))&LIGNE(INDIRECT(CELLULE("adresse")))


A+++
 

Discussions similaires

Statistiques des forums

Discussions
312 328
Messages
2 087 317
Membres
103 515
dernier inscrit
Cherbil12345