Affichage controlé d'image sous excel
Résolu
fumble64
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
rhym -
rhym -
Bonjour, je voudrais paramétrer l'affichage d'image sous excel en fonction de la valeur d'une cellule.
Par exemple, si a1=1; afficher photo 1 et masquer photo 2-3-4-5, si a1=2; afficher photo 2 et masquer photo 1-3-4-5
Voila, je ne sais pas si c'est réalisable sous excel ...
Je pense qu'il doit faloir créer une macro en VBA mais je voudrais, si c'est possible, que cela se fasse automatiquement, c'est à dire sans avoir besoin d'appuyer sur un bouton ou quoi que ce soit.
Si quelqu'un avait une suggestion à mon problème, ou un site qui m'explique comment faire ce serai super !
Par exemple, si a1=1; afficher photo 1 et masquer photo 2-3-4-5, si a1=2; afficher photo 2 et masquer photo 1-3-4-5
Voila, je ne sais pas si c'est réalisable sous excel ...
Je pense qu'il doit faloir créer une macro en VBA mais je voudrais, si c'est possible, que cela se fasse automatiquement, c'est à dire sans avoir besoin d'appuyer sur un bouton ou quoi que ce soit.
Si quelqu'un avait une suggestion à mon problème, ou un site qui m'explique comment faire ce serai super !
A voir également:
- Affichage controlé d'image sous excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Image iso - Guide
5 réponses
bonjour
Dans le code VBA de ta feuille, tu peux essayer de mettre cette macro en regardant ici éventuellement.
Tu remplaces seulement F3 par l'adresse de ta cellule paramètre.
Tu n'as pas de bouton et c'est la modification de ta cellule qui change aussi l'affichage.
Dans le code VBA de ta feuille, tu peux essayer de mettre cette macro en regardant ici éventuellement.
Private Sub Worksheet_Change(ByVal sel As Range) If Intersect(sel, Range("F3")) Is Nothing Then Exit Sub If sel.Count > 1 Then Exit Sub Dim elm As Shape Dim nom As String For Each elm In ActiveSheet.Shapes On Error Resume Next nom = elm.Name On Error GoTo 0 If Left(nom, 7) = "Picture" Then If Val(Right(nom, Len(nom) - 8)) = Val(sel.Value) Then elm.Visible = True Else elm.Visible = False End If End If Next elm End Sub
Tu remplaces seulement F3 par l'adresse de ta cellule paramètre.
Tu n'as pas de bouton et c'est la modification de ta cellule qui change aussi l'affichage.
j'ai bien recopié le code dans la feuille excel et quelque chose semble se passer quand je modifie le chiffre de la cellule : la barre d'outils de gestion des boutons VBA se grise.
Est-ce que tu pourrais m'indiquer comment je peux nommer les image pour que la macro les reconnaisse et comment je dois les nommer :
est ce que je dois les nommer "picture1", "picture2"
Dans tous les cas merci pour ta patience !
Est-ce que tu pourrais m'indiquer comment je peux nommer les image pour que la macro les reconnaisse et comment je dois les nommer :
est ce que je dois les nommer "picture1", "picture2"
Dans tous les cas merci pour ta patience !
d'accord, je viens de comprendre quel type d'images utiliser :
il faut insérer les images via la barre d'outils des macros,
ensuite je peux insérer des objets images,
et je peux afficher les propriétés de chacune comprenant le nom et le choix de l'image que je veux exploiter
me reste à savoir comment il faut que je nomme ces images, et est ce que le code que tu m'as donné limite le nombre d'images que je peux utiliser
j'ai cru voir "7" et "8" dans le code -> qu'est ce que ça veut dire ?
il faut insérer les images via la barre d'outils des macros,
ensuite je peux insérer des objets images,
et je peux afficher les propriétés de chacune comprenant le nom et le choix de l'image que je veux exploiter
me reste à savoir comment il faut que je nomme ces images, et est ce que le code que tu m'as donné limite le nombre d'images que je peux utiliser
j'ai cru voir "7" et "8" dans le code -> qu'est ce que ça veut dire ?
bonjour
quel type d'images utiliser :
Comme tu parlais de photos, je suis parti de là et comme lorsque l'on utilise le menu insertion / image / à partir du fichier on obtiens des noms automatiques sur Excel qui sont "Picture 1" "Picture 2" etc
j'ai cru voir "7" et "8" dans le code -> qu'est ce que ça veut dire ?
Donc le "7" correspond au nombre de caractères de "Picture" et "8" au nombre de caractères de "Picture " pour prendre le nombre suivant qui est le numéro de la photo.
Lorsque tu insères ton image, le nom apparaît dans la zone nom et donc tu remplaces "Picture " par ton nom et tu adaptes les longueurs.
le code que tu m'as donné limite le nombre d'images que je peux utiliser
Tu peux mettre autant d'images que tu veux mais une seule est affichée à la fois, celle dont tu as saisis le numéro dans ta cellule de choix.
N'hésites pas à poser les questions que tu n'as pas comprises.
quel type d'images utiliser :
Comme tu parlais de photos, je suis parti de là et comme lorsque l'on utilise le menu insertion / image / à partir du fichier on obtiens des noms automatiques sur Excel qui sont "Picture 1" "Picture 2" etc
j'ai cru voir "7" et "8" dans le code -> qu'est ce que ça veut dire ?
Donc le "7" correspond au nombre de caractères de "Picture" et "8" au nombre de caractères de "Picture " pour prendre le nombre suivant qui est le numéro de la photo.
Lorsque tu insères ton image, le nom apparaît dans la zone nom et donc tu remplaces "Picture " par ton nom et tu adaptes les longueurs.
le code que tu m'as donné limite le nombre d'images que je peux utiliser
Tu peux mettre autant d'images que tu veux mais une seule est affichée à la fois, celle dont tu as saisis le numéro dans ta cellule de choix.
N'hésites pas à poser les questions que tu n'as pas comprises.
j'ai tout à fait compris ton code VBA mais seulement je voudrai que le numéro 7 et 8 correspondent à une formule de recherche.Je t'explique dans une case je fai une liste dont je choisit le nom suivant le nom choisit un numéro appariat dans ta case F3 pour que ton code marche et la jai une ligne du code qui s'affiche en jaune : If Val(Right(nom, Len(nom) - 8)) = Val(sel.Value) Then.Peut tu m'aider
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question