Sélection d'une cellule à partir d'une image en VBA

  • Initiateur de la discussion Scatton Kévin
  • Date de début
S

Scatton Kévin

Guest
Bonjour,

Voilà le problème :

J'ai plusieurs macros dans un fichier Excel. chaque macro est associée à une image / graphique dans le classeur.
Chacune de ces images est dans une cellule, histoire de tout bien organiser.

Hélas, j'aurais besoin, pour automatiser mes macros, qu'il (excel) détecte la cellule dans laquelle se trouve l'image sur laquelle je viens de cliquer pour lancer ma macro.

Apparemment ce n'ets pas possible ... quelqu'un aurait une idée alors ? Car en fait ce qu'il faut faire c'ets qu'il voie la cellule dans laquelle il y a cette image, et après qu'il se décale de deux cellules vers la droite (c'ets bon pour ca j'ai le code) car il y a un texte sur lequel il doit se baser. Or, si il ne détecte pas la cellule proche de l'image sur laquelle j'ai cliqué, ca ne sert a rien. Enfin bon ...

J'espère avoir été assez clair.

et puis pas moyen d'attribuer une macro à une cellule ? ca me sauverait, mais ca ne semble pas possible ...

Merci de vos réponses !
 
J

Jeannot 45

Guest
Bonjour,

Si j'ai bien compris, à chaque image correspond une adresse de cellule...

Voici un petit bout de code qui répond à ton problème (tu le places dans la feuille qui contient tes images

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Address = "$A$1" Then
ActiveCell.Offset(0, 2).Select
End If
End Sub

Bon courage

A+

Jeannot
 
S

Scatton Kévin

Guest
en fait chaque image est dans une cellule, sur la même ligne. la premiere macro se situe en C2, la deuxieme en C3, etc etc. Mais je n'ai rien déclaré, pas de nom aux cellules, rien ...

Je vais voir déjà ce que tu m'as donné, mais je me suis dit que cette précision rendrait le tout encore plus clair, hi :)

Mais je ne comprends pas le code, il vérifie si la cellule active est A1 ?? Argh ...

Mais en fait je sais pas si z'avez remarqué, mais quand on clique sur une image, il n'active plus de cellule. Je lui ai fait faire une petite MsgBox (activecell.value [?]) et le résultat était vide. Et moi je veux pas qu'il n'active plus de cellule, je veux qu'il active celle dans laquelle se trouve mon image !! (même si celle ci est indépendante de la cellule).

Désolé si je me repete, mais c'est pour etre sur d'avoir été compris, car si je comprends le code ci-dessus, alors il se peut que ca ne marche pas.

Mais trève de bavardages et essayons :)
 
S

Scatton Kévin

Guest
Si si ayé j'ai compris. Bon en fait quand je clique sur A1, ca m'emmene deux cases à côté.

J'avais déjà pensé à cela sauf qu'en fait il faut qu'il connaisse la cellule se situant sous l'image (à laquelle ets affectée une macro). A ce moment là c'ets bon, mais il faut qu'il la détecte ...

Et il n'y a pas moyen de mettre une macro a la place d'un lien hypertexte alors ? J'ai même sauvegardé en .htm pour voir comment Word gérait ca, mais hélas il enleve les macros, et les images deviennent de simples images, sans macros.

Zut.


je monologguise today, excusez moi
 
T

Ti

Guest
Allons, allons, ne désespère pas, même en ce long week-end ! Il y a toujours une solution, et en plus celle-ci est très simple à appliquer.
Regarde l'exemple.
 

Pièces jointes

  • Caller.zip
    39.7 KB · Affichages: 131
R

Rakanishu

Guest
OH MERCI TU ES UN DIEU ! GRANDIOSE !

Bon je vais essayer de comprendre le code maintenant, meme si il est tout petit, car je pige moyen cette hiostoire de shape. C'est quoi et tout.


ENCORE MERCI !
OUI !
Tu es un Dieu ! OUI !
 
J

jipi

Guest
Bonjour à tous

je reprends ce fil pour essayer de résoudre mon problème :

1/ j'ai des images sur chaque ligne d'une colonne A (ex 10 lignes) (image à la taille de la cellule)

2/ à chaque clic sur l'image en cellule A1 ou A3 ou A5 de la colonne A je souhaite activer et écrire sur la cellule B1 "OK"

ci-joint un fichier exemple.

Merci à tous de votre aide

jipi
 

Pièces jointes

  • ActiveCelluleparImage.zip
    5.2 KB · Affichages: 59
  • ActiveCelluleparImage.zip
    5.2 KB · Affichages: 44
  • ActiveCelluleparImage.zip
    5.2 KB · Affichages: 51
T

Ti

Guest
je ne suis pas sûr que dans ton cas tu aies intérêt à passer par une image, à moins que ce soit dans un but bien précis, ou pour l'esthétique.
Quoiqu'il en soit, je te montre deux méthodes, l'une en cliquant sur une image circonscrite à une cellule, l'autre en cliquant directement dans la cellule.
Pour la première méthode, j'ai affecté une macro à chaque image, pour la seconde, c'est une macro événementielle qui gère cela. Le résultat est le même.
 

Pièces jointes

  • ActiveCelluleparImage.zip
    8.4 KB · Affichages: 90
  • ActiveCelluleparImage.zip
    8.4 KB · Affichages: 78
  • ActiveCelluleparImage.zip
    8.4 KB · Affichages: 85

Discussions similaires

Statistiques des forums

Discussions
311 711
Messages
2 081 799
Membres
101 818
dernier inscrit
tiftouf5757