VBA - USERFORM : Afficher une image selon la valeur d'un TextBox

cm1864

XLDnaute Nouveau
Bonjour à Tous,

Le but de ce classeur Excel est de réaliser un Quizz.
Il y a une :
- feuille Questionnaire, dans lequel je souhaite que les résultats s'affichent.
- feuille Listes, dans laquelle se trouvent les listes qui remplissent mes ListBox
- feuille Réponse, grâce à laquelle, Excel vérifiera que les réponses sont exactes ou non, afin de noter le Quizz.

En outre, l'agent de voyages devra choisir la destination sur laquelle il veut faire le quizz.
La valeur est rapatriée dans un TextBox (Enable = False) dans le UserForm1 à son ouverture.

Ma demande : faire apparaître l'image de la carte correspondant au pays sélectionné (donc à la valeur du TextBox_pays).

Pour info, les images se trouvent dans le même répertoire que le fichier Excel

J'ai récupéré un code VBA édité par Thierry en 2006 et voulu l'adapter mais je n'y parviens pas.

Merci pour votre aide,
Je suis à votre disposition si vous avez besoin de plus d'informations pour m'aider.

Bien à vous,

cm1864
 

Pièces jointes

  • Quizz.xlsm
    100.2 KB · Affichages: 402
  • Quizz.xlsm
    100.2 KB · Affichages: 440
  • Quizz.xlsm
    100.2 KB · Affichages: 452

Fred0o

XLDnaute Barbatruc
Re : VBA - USERFORM : Afficher une image selon la valeur d'un TextBox

Bonjour cm1864,

Cette ligne à mettre en dernière ligne de la Sub UserForm_Initialize() :
VB:
UserForm1.carte_destination.Picture = LoadPicture("C:\Users\Toshiba\Desktop\Développement des projets\Quizz formation\Cartes\" & Sheets("Questionnaire").Range("E2").Value & ".jpg")

A adapter au répertoire réel qui contient tes photos. Il important que chaque carte soit nommée exactement avec le nom du pays tel qu'il est écrit dans la liste.

A+
 

cm1864

XLDnaute Nouveau
Re : VBA - USERFORM : Afficher une image selon la valeur d'un TextBox

Bonjour Fred0o,

Je te remercie vivement pour ton aide.
Je comprends l'idée de la ligne dans la partie Initialize du UserForm.

Excellente journée, et très bon weekend.
Bien à toi,

cm1864
 

cm1864

XLDnaute Nouveau
Re : VBA - USERFORM : Afficher une image selon la valeur d'un TextBox

Simple question :

Le fichier adapte bien l'image au UserForm.
En revanche, les pays "INDONESIE" et "REPUBLIQUE DOMINICAINE" ne fonctionne pas et renvoient une erreur d'execution (n°53).

En constatant en premier lieu l'erreur avec "REPUBLIQUE DOMINICAINE" j'ai pensé qu'il y avait un problème mettant en cause l'espace entre les deux mots, mais "INDONESIE" non plus ne fonctionne pas ...

Merci de vos conseils,
Je vous joins de nouveau le fichier.

cm1864
 

Pièces jointes

  • Quizz.xlsm
    98.8 KB · Affichages: 525
  • Quizz.xlsm
    98.8 KB · Affichages: 512
  • Quizz.xlsm
    98.8 KB · Affichages: 558
  • Indonésie.jpg
    Indonésie.jpg
    60.9 KB · Affichages: 337
  • République Dominicaine.jpg
    République Dominicaine.jpg
    73.6 KB · Affichages: 628
Dernière édition:

Fred0o

XLDnaute Barbatruc
Re : VBA - USERFORM : Afficher une image selon la valeur d'un TextBox

Re-bonjour,

C'est bien ce que je pensais : tes images sont nommées ; "Indonésie.jpg" et "République dominicaine.jpg" alors que dans ta liste, on a : "INDONESIE" et REPUBLIQUE DOMINICAINE".

Bref, ce sont les accents qui sont mis dans un cas et pas dans l'autre. Si tu harmonises tout cela en renommant tes images ou en mettant les accents dans ta liste, tu ne devrait plus avoir de problème.

A+

Au fait, si tu ne le savais pas : Gisèle se gèle les aisselles aux Seychelles.
 
Dernière édition:

cm1864

XLDnaute Nouveau
Re : VBA - USERFORM : Afficher une image selon la valeur d'un TextBox

Exactement !
J'ai donc bien compris le fonctionnement de ces codes relatifs aux images.
Je te remercie.

Il est probable que je refasse appel au forum car maintenant je dois faire en sorte qu'une fois les résultats validés sur la feuille Excel, VBA me calcul le nombre de bonnes réponses, afin de donner une note !
... et tout ça, je ne sais pas encore le faire !!

Merci mille fois pour ton aide.
Merci également à Thierry qui était à l'origine du "morceau de code de départ".
Excellente soirée, très bon week end.

cm1864
 

Discussions similaires

Réponses
15
Affichages
318