XL 2013 Mettre une cellule en gras si on clique sur l'image de la cellule

MJ13

XLDnaute Barbatruc
Bonjour à tous

Sur une feuille, j'ai des images importées avec leur nom dans la cellule.

Je cherche un code pour que si je clique sur une image, la cellule contenant l'image se mette en gras, j'ai un peu de mal :confused:.

Merci d'avance :).
 

MJ13

XLDnaute Barbatruc
Re : Mettre une cellule en gras si on clique sur l'image de la cellule

Bonjour Philippe

Merci pour ce fichier qui est un peu ce que j'attendais, mais si je rajoute une image et que je la nomme 6 en cellule A6, alors cela ne fonctionne pas, alors que pour les autres de 1 à 5 que tu as mis, c'est OK :confused:.

C'est bizarre, qu'on n'ai pas des évènements sur les images.

Une idée?

Merci :).

Sinon, j'ai trouvé une solution en regardant un peu ton exemple et en bidouillant (je ne savais même pas que j'en étais capable :eek:):
Il faut sélectionner chaque image, lui associer la macro Cliquer grâce à cette macro:


Code VBA:
Sub Affecte_Image_Macro()
Selection.OnAction = "Cliquer"
End Sub





ET pour la macro Cliquer j'ai mis ce code pour voir si cela fonctionne. Il faudra que j'essaie avec 1000 images pour voir :eek:.

Code VBA:
Sub Cliquer()
MsgBox ActiveCell.Address
End Sub
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : Mettre une cellule en gras si on clique sur l'image de la cellule

Bonjour, Michel :), Philippe :), le Forum,

... si je rajoute une image et que je la nomme 6 en cellule A6, alors cela ne fonctionne pas...
Il faut sélectionner chaque image, lui associer la macro Cliquer...

Pour éviter la sélection individuelle, peut-être ainsi :

Code:
Option Explicit
Sub Code_affecter()
    Dim s As Shape
    For Each s In ActiveSheet.Shapes
        If s.TopLeftCell.Column = 1 Then s.OnAction = "Clic"
    Next
End Sub

A bientôt :):)
 

MJ13

XLDnaute Barbatruc
Re : Mettre une cellule en gras si on clique sur l'image de la cellule

Re, Bonjour 00

Merci pour ton code :).

Sinon, j'ai bien avancé avec ces codes, je peux faire un peu ce que je veux :). J'ai testé sur une feuille Excel avec 3000 photos et c'est OK.

Je ne sais pas si tu vois les possibilités, mais pour moi, cela devrait bien m'aider :eek:. Imagine, tu veux supprimer ou copier rapidement des images d'un dossier. Alors tu cliques sur celles que tu ne veux pas, ensuite tu fais une petite macro kill ou copie sur les images en gras et rouge et Hop :eek:.

Code:
Sub Affecte_Images_Macro()
n = ActiveSheet.Pictures.Count
For i = n To 1 Step -1
ActiveSheet.Pictures(i).Select
Selection.OnAction = "Cliquer"
Next
End Sub
Sub Affecte_Images_Macro1()
'n = ActiveSheet.Pictures.Count
'For i = n To 1 Step -1
ActiveSheet.Pictures.OnAction = "Cliquer"
'Selection.OnAction = "Clique"
'Next
End Sub
Sub Affecte_Images_Macro2()
'n = ActiveSheet.Pictures.Count
'For i = n To 1 Step -1
ActiveSheet.Pictures.OnAction = "Clique"
'Selection.OnAction = "Clique"
'Next
End Sub
Sub Cliquer()
NomShape = Application.Caller
'MsgBox ActiveSheet.Shapes(NomShape).TopLeftCell.Address
Adr = ActiveSheet.Shapes(NomShape).TopLeftCell.Address
If Range(Adr).Font.Bold = False Then Range(Adr).Font.Bold = True: Range(Adr).Font.Color = RGB(255, 0, 0): Exit Sub
If Range(Adr).Font.Bold = True Then Range(Adr).Font.Bold = False: Range(Adr).Font.Color = RGB(0, 0, 0)
End Sub
Sub Clique()
MsgBox "OK"
End Sub
 

DoubleZero

XLDnaute Barbatruc
Re : Mettre une cellule en gras si on clique sur l'image de la cellule

Bonjour, Michel :), Philippe :), le Forum,

Je n'ai pas encore testé tes codes mais te fais confiance :D et te remercie pour ce nouveau partage.

Ils me rendront certainement, une fois de plus, un grand service car le nombre de photos logées dans le ventre de mon poste est... je ne sais combien de milliers ! (1)

Pour ce qui concerne :

...Alors tu cliques sur celles que tu ne veux pas, ensuite tu fais une petite macro kill ou copie sur les images en gras et rouge et Hop :eek:...

Là, moi pas savoir :eek: faire.

A bientôt :D:D

(1) avec probablement des doublons
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Mettre une cellule en gras si on clique sur l'image de la cellule

Re, Bonjour 00

Pour les doublons, c'est assez compliqué, car tu dois avoir l'ensemble de tes images sur une feuille (donc multi-Dossiers). Puis tu tries sur le nom de l'image en premier filtre et sa taille en second filtre. Tu fais un petit test avec une formule =Si(...,"Idem","Diff") en face de chaque ligne en comparant la somme des cellules Nom+Taille, et si c'est idem, alors tu pourras faire une macro pour supprimer les images Idem.

Sinon voici un fichier qui illustre ce que je t'ai dit, tu peux le tester si le coeur t'en dit :) (tout est dans le fichier). teste sur un dossier contenant pas plus de 200 photos pour commencer.
 

Pièces jointes

  • Mes_Images_V3_MJ.xlsm
    38.5 KB · Affichages: 53

DoubleZero

XLDnaute Barbatruc
Re : Mettre une cellule en gras si on clique sur l'image de la cellule

Bonjour, Michel :), Philippe :), le Forum,

Merci, Michel :D, pour ce superbe travail !

Dès que j'en aurai le courage, je tenterai de créer une macro "suppression"...

A bientôt :):)
 

Discussions similaires

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch