Rechercher : dans
Par :

Affichage controlé d'image sous excel

Dernière réponse le 31 jui 2008 à 15:17:56 fumble64, le 14 déc 2007 à 11:43:25 
 Signaler ce message aux modérateurs

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 !

Meilleures réponses pour « Affichage controlé d'image sous excel » dans :
[Webmaster] Afficher une image de grande taille Voir Pour la plupart des internautes, afficher une image de grande taille dans une page web est trop lourd. Zoomify est un petit programme Flash qui permet de rendre une image zoomable et navigable, et chargeant l'image par morceau selon le...
Afficher les images et les animations Flash dans le navigateur VoirQuand vous allez sur un site internet, vous n'avez plus d'images affichées ; elles sont remplacées par un petit rectangle avec un carré rouge ou un triangle bleu (par exemple). 1 - Vérifier d'abord les paramètres de votre navigateur : Pour...
Afficher le mode « diaporama » VoirPour afficher ses images dans le mode « diaporama » Pour afficher ses images dans le mode « diaporama », il faut d'abord que les tâches habituelles soient affichées dans les dossiers. Pour ce faire: 1- ouvrir n'importe quel dossier 2- choisir...

1

gbinforme, le 14 déc 2007 à 17:16:31

Bonjour

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.
toujours zen

Répondre à gbinforme

2

fumble64, le 17 déc 2007 à 18:09:46

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 !

Répondre à fumble64

3

fumble64, le 17 déc 2007 à 18:29:03

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 ?

Répondre à fumble64

4

gbinforme, le 17 déc 2007 à 21:50:57

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.
toujours zen

Répondre à gbinforme

6

 rhym, le 31 jui 2008 à 15:17:56

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

Répondre à rhym

5

fumble64, le 18 déc 2007 à 18:53:51

Ok trés bien !
ça marche super bien je te remercie 1000 fois
c'est vraiment parfait !!!!

Répondre à fumble64
Collection CommentÇaMarche.net