IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Afficher une photo automatiquement


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut Afficher une photo automatiquement
    Bonjour,

    grâce à vous, j'ai une macro me permettant d'afficher une image en fonction du contenu d'une cellule. Cette cellule est remplie automatique à l'aide d'une liste déroulante. Mais pour que la photo apparaisse, il faut que j'utilise un bouton pour lancer la macro.

    J'aimerai que les photos apparaissent et disparaissent automatiquement en utilisant la liste déroulante.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Sub InsImg()
     
        Img = Range("E4").Value & ".jpg"
     
        Set objFeuille = ActiveSheet
        Set objPict = objFeuille.Pictures.Insert("\....\Mon répertoire" & Img)
     
        With objPict
     
            .Left = Range("M4:S20").Left
            .Top = Range("M4:S20").Top
            .Width = Range("M4:S20").Width
            .Height = Range("M4:S20").Height
     
        End With
     
    End Sub

    2eme point, je souhaiterai avoir une photo "par défaut" qui s'affiche lorsque je ne possède pas le fichier ".jpg" dans Mon Répertoire.

    Voici à quoi ressemble ma feuille xls :




    Si quelqu'un peut m'aider sur ces 2 points...

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonjour,

    pour éviter de futur problémes corrige d'abords ton code, en spécifiant bien la bonne feuille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Sub InsImg()
           Set objFeuille = ThisWorkBook.sheets("Mafeuille") 
        Img = objFeuille.Range("E4").Value & ".jpg"
         Set objPict = objFeuille.Pictures.Insert("\....\Mon répertoire" & Img)
    ....
    puis dans ta feuille rajoute une fonction événementielle .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect([E4], Target) Is Nothing Then
        InsImg
     End If
     End Sub

    Jacques.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    J'ai fait la modif de mon code initial.

    Et rajouter celui-ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect([E4], Target) Is Nothing Then
        InsImg
     End If
     End Sub
    Pas de changement, obligé de cliquer sur le bouton.

    Je suis débutant...a quoi sert ce dernier code?

    Merci en tous cas

  4. #4
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Citation Envoyé par Geprocor Voir le message
    ..
    Je suis débutant...a quoi sert ce dernier code?

    Merci en tous cas
    Re,

    Tu n'as surement pas mis ce dernier code au bon endroit, lorsque tu est dans l'éditeur VBE tu clique sur le nom de ta feuille et tu rajoute ce code au code de la feuille.Il sagit d'une fonction événementielle qui sera lancée pour tout changement dans ta feuille, le paramétre target étant la palge modifiée.


    Jacques.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    Citation Envoyé par JackOuYA Voir le message
    Re,

    Tu n'as surement pas mis ce dernier code au bon endroit, lorsque tu est dans l'éditeur VBE tu clique sur le nom de ta feuille et tu rajoute ce code au code de la feuille.Il sagit d'une fonction événementielle qui sera lancée pour tout changement dans ta feuille, le paramétre target étant la palge modifiée.


    Jacques.
    J'ai beau chercher dans VB, le seul endroit où je trouve le nom de ma feuille est lorsque j'affiche VBAProject dans le bandeau latéral gauche et ensuite je clique sur "afficher le code". Est-ce bien là que tu me dis d'aller?

    J'ai essayé ça et je ne vois pas de différence...mais je dois me planter qlq part.


    ok, alors pourquoi ne pas reprendre le code de ton bouton et l'intégrer dans l'evenement clik de ta listbox,
    Si ça marche,je ne suis pas contre, au contraire... mais je ne sais pas comment faire...

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    quand tu es sur vba, tu clique sur ton userform et ensuite sur ta listbox et en haut à gaucche tu vois le nom de ta listbox tandis qu'à droite tu doit choisir click et copie ton code à cet endroit

    c'est confu mais je fais ce que je peux

    bonne soirée (au fait, j'étais indisponible avant de voir le message)
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Je suis peut-etre à coté de mes pompes mais y aurait pas moyen de combiner un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub ListBox1_Click()
    Dim nom As String
     
        nom = ListBox1 'represente le chemin complet intégré dans une listbox
        Shell "cmd /c start application.exe """ & nom & """"""
        'application.exe est l'executif pour ouvrir la photo
    End Sub
    J'ai eu ça, il y a peu de temps pour des fichiers pdf
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    En fait Casefayeren, je veux insérer une image dans le cadre blanc de ma feuille de calcul (ça j'y arrive). Si je comprends bien ta proposition, c'est pour ouvrir une nouvelle appli comme une visionneuse...non?

    Ce que je cherche c'est à automatiser cette action juste en allant dans la liste et sans cliquer sur le bouton.

    J'espere être clair dans mes explications car c'est jamais évident à retranscrire.

  9. #9
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    ok, alors pourquoi ne pas reprendre le code de ton bouton et l'intégrer dans l'evenement clik de ta listbox, tant pis si je ne comprends toujours pas
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher une photo dans un formulaire
    Par db48752b dans le forum IHM
    Réponses: 7
    Dernier message: 11/09/2006, 12h01
  2. Afficher une photo dans un formulaire
    Par boko93 dans le forum Access
    Réponses: 8
    Dernier message: 04/09/2006, 16h34
  3. [SQL] probleme de syntaxe pour afficher une photo en php
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/04/2006, 21h48
  4. Comment afficher une photo et une signature
    Par angiosfr dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 23/11/2005, 21h42
  5. [MySQL] Afficher une photo à partir de la base de données
    Par microcongo dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/09/2005, 17h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo