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 :

Gestion d'erreur lors de chargement d'une image dans une useforme


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de mentat
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Août 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 139
    Points : 99
    Points
    99
    Par défaut Gestion d'erreur lors de chargement d'une image dans une useforme
    Bonjour, Alors voilà mon problème du jour...

    Je charge une image à l'aide d'une combobox, que je vais chercher dans un dossier, dans ma useforme, dans un objet prévue pour celle ci... Jusque là tout va bien... 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
    'Chemin où est collé le fichier Excel
    cheminmap = ThisWorkbook.Path
     
    'Ajouter l'image "les frangins de DOD" lorsque la combox est vide
    If comboboxmaps.Value = "" Then
          Image1.Picture = LoadPicture(cheminmap & "\Images maps\lesfranginsdeDOD.jpg")
          Else
           'Ajouter l'image correspondant à la valeur de la comboboxmaps
    chemin_photo = cheminmap & "\Images maps\"
    Nom_photo = UserForm1.comboboxmaps.Value
    On Error Resume Next
    chem_nom = chemin_photo & Nom_photo & ".jpg"
    Image1.Picture = LoadPicture(chem_nom)
        End If
    Mon problème c'est que je souhaite que lorsque l'image n'est pas chargé parce qu'elle n'existe pas... une autre image soit chargé...

    Alors j'ai essayé ce code:

    (Dans le code à la place des trois petit point je viens chargé des labels en fonction de la valeur de ma comboboxmaps)

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Private Sub comboboxmaps_Change()
    'Chemin où est collé le fichier Excel
    cheminmap = ThisWorkbook.Path
    
    'Ajouter l'image "les frangins de DOD" lorsque la combox est vide
    If comboboxmaps.Value = "" Then
          Image1.Picture = LoadPicture(cheminmap & "\Images maps\lesfranginsdeDOD.jpg")
          Else
           'Ajouter l'image correspondant à la valeur de la comboboxmaps
    chemin_photo = cheminmap & "\Images maps\"
    Nom_photo = UserForm1.comboboxmaps.Value
    On Error GoTo Errornoload
    chem_nom = chemin_photo & Nom_photo & ".jpg"
    Image1.Picture = LoadPicture(chem_nom)
        End If
    
    Exit Sub
    
    ....
    
    'Erreur de chargement de l'image
    Errornoload:
    UserForm1.Image1.Picture = LoadPicture(cheminmap & "\Images maps\lesfranginsdeDOD.jpg")
        Resume Next
    
    End Sub
    [/CODE]

    Seulement,
    - Quand je met Exit Sub il me charge bien les images qui existe et me charge bien l'autre image quand celle que je demande n'existe pas, seulement il ne va pas me charger mes labels...???

    -Quand je remplace Exit Sub par Resume next il me charge pas les images correspondant à ma comboboxmaps qui existe et me charge l'autre image, par contre il me charge mes labels...

    Comprend pas... lol Merci pour votre aide...

  2. #2
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Bonjour,
    Les ... tu ne les lira jamais. Puisque tu quitte la macro juste avant.

    Il faut mettre le exit sub juste avant la gestion d'erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ....
     
    Exit Sub
    'Erreur de chargement de l'image
    Errornoload:
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

  3. #3
    Membre régulier Avatar de mentat
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Août 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 139
    Points : 99
    Points
    99
    Par défaut
    Merci d'avoir répondu aussi vite Krovax ça marche au poile...

    Je me doutai que ce ne devait être pas grand chose mais à ce point là... mdr

    Merci et bon Dimanche à Tous...

  4. #4
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    prochaine fois tu met une pause au tout début de ta macro et tu avance en mode pas a pas comme ca tu verra quelle sont les lignes de code qui sont effectivement lu par ton programme.
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

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

Discussions similaires

  1. [Débutant] Manipulation d'images : intégrer une image dans une image
    Par noscollections dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/10/2014, 11h51
  2. Une image dans une image (image map?)
    Par oklama dans le forum Langage
    Réponses: 3
    Dernier message: 24/01/2007, 14h13
  3. Mettre une Image dans une Image
    Par shadowhocine dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 19/12/2006, 18h40
  4. Réponses: 3
    Dernier message: 30/10/2006, 11h21
  5. Insérer une légende dans une image avec une police plus petite
    Par Paulinho dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 29/04/2006, 14h19

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