Je viens vers vous, car depuis ce matin, je m'arrache les cheveux.
J'essaies désespérément de trouver comment on peut agrandir une photo avec un simple "clic", et la remettre en l'état en cliquant ailleurs, par exemple.
Je suis en train de faire un catalogue avec photos, et vu le nombre, je suis obligée de les intégrer en taille réduite.
L'avantage, serait que, sur un simple "clic", les clients puissent voir la photo agrandie.
J'ai lus des tas de choses, mais rien de bien utile, ou bien très compliqué à déchiffrer.
Pour info, je travaille sous Excel 2007.
Re : Agrandir / diminuer une image sur un simple Clic
Bonjour,
En effet, on passe par une macro.
Pour attribuer une macro à une image, c'est simple: tu clic droit dessus et "attribuer" une macro. Dans la fenetre de dialogue qui apparait tu clique sur "nouvelle".
Si tu veux voir le contenu de la macro, fait alt+F11 pour ouvrir l'éditeur visual basic et va jeter un oeil dans "module1".
Edit: le problème c'est que (sauf solution connue par un autre utilisateur) tu devras avoir autant de macro que d'image en changeant à chaque fois le nom de l'image (ici: "picture 1")
La marche à suivre:
- tu vas dans l'éditeur visual basic, tu copie le texte (sans les lignes "sub..." et "end sub")
- tu insère ton image
- clic droit / affecter une macro...
- clic sur "nouvelle"
- Dans la fenetre visual basic, entre le sub... et le end sub, tu colle le morceau de code que tu as copié.
- tu remplaces le "picture 1" par le nom de la nouvelle image (en principe ça va se suivre, picture 2, picture 3,...)
tu refermes l'éditeur visual basic et le tour est joué
Je n'ai jamais autant appris que depuis que je suis sur le forum , et Application.Caller, c'est PierreJean qui me l'avait appris, lui-même l'ayant probablement appris ici... etc
Ce qui est intéressant c'est que si c'est utilisé dans une fonction (function) utilisée dans la feuille de calcul, ça fait référence à la cellule qui se calcule en faisant appel à la fonction
Re : Agrandir / diminuer une image sur un simple Clic
Bonjour Mikachu (Et vous tous) !!
Cela à l'air simple en théorie, mais mon souci, est que quand tu me parle de contenu dans la macro, celle-ci est.... vide !
Je précise que les images qu'il y a dans mon fichier, sont en faite des photos que j'ai prise, retravaillées dasn ptotofiltre, et ensuite capturées avec fastoncapture, avant d'être collées dans mon document. Peut-être y a t'il un impact avec cette procédure ??
Re : Agrandir / diminuer une image sur un simple Clic
Bonjour Mumu, Bonjour à tous,
La macro doit être dans un module (Dans Visual Basic Editor : Menu Insertion - Module)
Puis clic droit sur une image de ta feuille de calcul - Affecter une macro et tu choisis la macro Image_QuandClic de ton module
Et ce pour chaque image...
Re : Agrandir / diminuer une image sur un simple Clic
Merci tototiti2008 pour ta raponse.
Je vais approfondir ce que tu viens de m'expliquer.
Tu sais, j'ai un peu avancé depuis. J'arrive bien à affecter la macro à une image, mais dès que je le fais sur la suivante (même en la renommant), paf !! ça marche sur la nouvelle mais plus sur la première. Je pense que c'est une question de nom de l'image ou un truc du genre.
Je vais y arriver un jour, je vais y arriver !!! Je suis du genre têtue !!
Re : Agrandir / diminuer une image sur un simple Clic
Bonjour,
Je ne comprends pas... j'ai ouvert les deux fichiers (le mien et celui de tototiti) et les deux ont des macros qui fonctionnent et le code n'est pas vide.
La provenance de l'image n'a pas d'impact sur la procédure
- Prend le fichier de tototiti, sa variante est plus fonctionnelle et moins lourde si beaucoup d'image.
- supprime les images mises pour exemple
- insère une image, clis droit dessus / affecter une macro.
- Dans la fenêtre qui s'ouvre, choisi la macro "image_quandclic" et ok.
- Répète l'opération autant de fois qu'il y a d'image.
Autre variante si ton fichier est déjà existant:
- ouvre ton fichier
- appuie sur alt+f11 pour ouvrir visual basic editor
- clic droit sur "vbaproject(XXX)" XXX étant le nom de ton fichier / insert / module
- dans la fenetre qui c'est ouvert, colle le code suivant
VB:
Option Explicit
Dim dejavu As Object
Sub Image_QuandClic()
Dim Im As String
Im = Application.Caller
If dejavu Is Nothing Then
Set dejavu = CreateObject("Scripting.Dictionary")
End If
ActiveSheet.Shapes(Im).Select
If dejavu.exists(Im) Then
dejavu(Im) = Not dejavu(Im)
Else
dejavu(Im) = False
End If
If dejavu(Im) Then
Selection.ShapeRange.Height = 60
Selection.ShapeRange.Width = 80
Else
Selection.ShapeRange.Height = 240
Selection.ShapeRange.Width = 320
End If
ActiveSheet.Range("A1").Select
End Sub
- ferme visual basic editor
- clic droit sur une image / affecter une macro
- dans la fenetre, selectionne la macro "image_quandclic" et ok
- répète l'opération pour chaque image
mikachu.
EDIT: En effet, ton post n'est pas notre priorité. Nous ne sommes pas des professionnels de l'aide excel, et nous avons tous des activités en dehors du forum XLD. Nous aidons les humbles utilisateurs en fonction de nos ressources et de notre disponibilité