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 :

importation d'une image depuis un dossier dans un userform en fonction du choix fait dans une combobox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Instructeur
    Inscrit en
    Octobre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Instructeur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Par défaut importation d'une image depuis un dossier dans un userform en fonction du choix fait dans une combobox
    Bonjour
    Débutant en vba, je pédale depuis deux jours pour trouver le moyen d'insérer une photo provenant d'un dossier dans un userform en fonction du choix que j'ai effectué depuis une combobox.
    La liste de la combobox se compose de noms rangés dans la colonne A de ma feuille (je suis passé par RowSource pour la définir).
    Pour chaque nom de la liste j'ai le nom de la photo rangé en colonne V sur la même ligne.
    Le nom de chaque photo est sous la forme "AD0001.jpeg".
    Les images sont dans mon dossier images.
    Quelqu'un pourrait-il m'aiguiller vers une solution?
    Merci d'avance
    Amicalement
    Franck

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Instructeur
    Inscrit en
    Octobre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Instructeur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Par défaut 1ere partie
    Bonsoir
    J'ai déjà résolu la sélection de la cellule contenant le nom de la photo avec ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub nameComboBox_Change()
         With nameComboBox
            Label26.Caption = Sheets("list").Range(.RowSource)(.ListIndex + 1, 22).value  '=> affiche le nom de la photo dans "Label26" du userform
          
            chargePhoto = Sheets("list").Range(.RowSource)(.ListIndex + 1, 22).Text  '=> recupere le nom de la photo
            Image1.Picture = LoadPicture("C:\Users\Franck\Desktop\monFichier\Photos" & chargePhoto & ".jpg") '=> ça devrait charger l'image du dossier dans "Image1" sur mon userform mais arrivé à ce point ça bugue!! ça me dit "Image1.Picture = Nothing"
         End With
    
    End Sub
    J'ai donc un peu avancé mais là, je suis vraiment au point mort..
    Si quelqu'un peut m'aider

  3. #3
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonjour,
    Etes vous sur que le format de votre photo est accepté? faites déjà une entrée manuelle. dans le Userform, et vous verrez si ça accepte manuellement?
    Cordialement

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    il manque le backslash entre le chemin et le nom du fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Image1.Picture = LoadPicture("C:\Users\Franck\Desktop\monFichier\Photos\" & chargePhoto & ".jpg")
    De plus, tu parles de fichiers JPEG dans ton message mais ton code cherche un fichier JPG... Assure-toi que le nom complet (chemin compris) est bien reconstitué.

    Tu gagnerais en lisibilité en passant par une variable que tu pourrais tester. Ca fait une ligne de code en plus mais ça clarifie l'écriture et ça facilite les tests.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour
    si effectivement chargephoto ne comporte pas l'extention du fichier
    tu peux tenter la correction dynamique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub nameComboBox_Change()
        Dim chemin As String,chargePhoto as String
        chemin = "C:\Users\Franck\Desktop\monFichier\Photos\"
        With nameComboBox
            chargePhoto = Sheets("list").Range(.RowSource)(.ListIndex + 1, 22).Text  '=> recupere le nom de la photo
            Label26.Caption = chargePhoto  '=> affiche le nom de la photo dans "Label26" du userform
            chemin = chemin & chargePhoto
            chemin = IIf(Dir(chemin & ".jpg") = "", chemin & ".jpeg", chemin & ".jpg")
           Image1.Picture = LoadPicture(chemin)    '=> ça devrait charger l'image du dossier dans "Image1" sur mon userform mais arrivé à ce point ça bugue!! ça me dit "Image1.Picture = Nothing"
        End With
    End Sub
    comme ca que se soit .jpg ou .jpeg on la trouve
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Instructeur
    Inscrit en
    Octobre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Instructeur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Par défaut
    Bonsoir à tous
    Comme indiqué par Pierre, il manquait bien le "\".
    La photo apparait maintenant, il ne me reste plus qu'à la redimensionner, mais là, je sais faire.
    Merci aussi à Patrick pour sa solution.
    Amicalement
    Franck

Discussions similaires

  1. [WD20] Ouvrir une Fenêtre en fonction du choix fait dans une ComboBox
    Par ARNAUD ZIRIPE dans le forum WinDev
    Réponses: 4
    Dernier message: 31/12/2017, 14h39
  2. Réponses: 0
    Dernier message: 29/08/2016, 16h47
  3. Réponses: 5
    Dernier message: 23/04/2016, 16h43
  4. Réponses: 5
    Dernier message: 07/01/2016, 09h26
  5. Réponses: 0
    Dernier message: 04/02/2015, 10h46

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