Code VBA pb de type pour charger picture

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jego.guillaume22

XLDnaute Nouveau
Bonjour,

Je me retourne vers vous une nouvelle fois car j'ai un petit soucis de type sur une déclaration de variable.

Ce que je veux faire :
J'ai un code qui me permet d'aller cherche une image dans un dossier de mon pc afin de l'afficher en picture sur un commandboutton

code :

userformGroup.CommandButton20.Picture = LoadPicture("E:\ERDF-ProgrammeDeLaRonde-Ouessant\Ouessant\Images\colorgroup\jpeg\greenredgroup.jpg")

De ce fait quand j'ouvre mon programme, tout se passe bien ... Tant que j'ouvre mon programme sur mon propre PC. Par contre, si j'ouvre le programme avec un autre PC, comme le chemin d'accès diffère, il plante ....

Ce que je voudrais faire

J'aimerais trouver une technique qui permettrait que mon programme fonctionne sur tous les pc.

Comment est rangé mon programme :


Dans un dossier j'ai :

- Mon éxécutable
-Mon dossier ou sont situées mes images.

Merci pour la lecture et de l'aide éventuelle que vous pourrez m'apportez=)

Guillaume
 
Re : Code VBA pb de type pour charger picture

Bonjour,

Sans fichiers pour tester ... une tentative :
Dans dans une variable (disons MonLecteur), tu y fais inscrire la lettre d'unité détectée où se trouve ton exécutable.
Dans une autre variable (disons MonDossier), tu fais inscrire le chemin détecté où se trouve ton exécutable.
Puis userformGroup.CommandButton20.Picture = LoadPicture(MonLecteur & MonDossier & "\Ouessant\Images\colorgroup\jpeg\greenredg roup.jpg")

Le chemin est à adapter, mais c'est l'idée.

Si tu ne réussis pas, dis-nous dans quel dossier du chemin se trouve l'exécutable et propose-nous un bout de fichier anonymisé sur lequel travailler.


Tentative
 
Re : Code VBA pb de type pour charger picture

Bonjour et merci pour vos réponses,
Désolé pour le temps de réponse, toute notre île a été coupée suite à l'orage d'avant hier ...

roro69, je n'ai pas réussi ...

Tentative, je t'envoie tout mon dossier ... Dit moi ce que tu en pense si tu as un peu de temps à me consacrer =)

Merci d'avance !


PS : A savoir, j'aimerais que mon picture change directement quand on change la valeur de mon combobox dans mon exemple, donc pour ce fait j'ai insérer une deuxième fonction que j'ai mis dans combobox1.change. Je ne sais pas si c'est comme ça qu'il faut faire mais j'ai essayé ^^


Guillaume
 

Pièces jointes

Re : Code VBA pb de type pour charger picture

Bonjour
a essayer
Sub fonctionCouleurPicture()
Dim Chemin_Logo As String
Dim Nom_Logo As String
Chemin_Logo = ThisWorkbook.Path & "\pictureGroup\"
If UserForm1.ComboBox1.Value = "Bleu" Then
Nom_Logo = "BlueGroup"
Else
Nom_Logo = "MarronGroup"
End If
Chem_Nom = Chemin_Logo & Nom_Logo & ".jpg"
UserForm1.Label1.Picture = LoadPicture(Chem_Nom)


End Sub
A++
 
Re : Code VBA pb de type pour charger picture

J'aimerais trouver une technique qui permettrait que mon programme fonctionne sur tous les pc.

Bonjour,

Une technique qui répond à votre demande.

1) Créez un UserForm2 avec un contrôle Image1 et un contrôle Image2
2) Montez vos images dans les contrôles Image (1 et 2) au moyen de leur propriété Picture
Les images sont maintenant définitivement inscrites dans votre classeur.

3) Copiez le code suivant dans la fenêtre de code de UserForm1
Code:
Private Sub ComboBox1_Change()
If UserForm1.ComboBox1.Value = "Bleu" Then
  UserForm1.Label1.Picture = UserForm2.Image1.Picture
ElseIf UserForm1.ComboBox1.Value = "Marron" Then
  UserForm1.Label1.Picture = UserForm2.Image2.Picture
End If
End Sub

4) Copiez le code suivant dans un module Standard
Code:
Sub AfficheUserForm1()
UserForm1.Show
End Sub

5) Reliez le bouton "Bouton 1" de la Feuil1 à la macro "AfficheUserForm1"
 

Pièces jointes

Re : Code VBA pb de type pour charger picture

Roro69? merci beaucoup, ta solution fonctionne comme je le souhaitais !!! 😀

Mais je n'arrive pas à comprendre comment ça fonctionne ?
Ce code la : "ThisWorkBook.path & "\pictureGroup\" signifie quoi ? surtout le "ThisWorkBook.path" ?
J'aime bien comprendre ce que je met comme code ça me permet ensuite de l’adapter à d'autre circonstance 😀.
Si tu ne veux pas répondre tkt pas ^^ Tu m'as déjà largement répondu à mon post et je t'en remercie !!

PM02 , Ta solution marche également !! Non mais quand je vois qu'il y avait au moins deux solutions à ma recherche et que je n'ai pas été capable d'en trouver au moins une ... Bref Merci beaucoup !
Je vais tester les deux solutions et voir celle qui me conviendrais le plus !

Sayonara !
 
Re : Code VBA pb de type pour charger picture

Bonjour à tous

"Thisworkbook.path" est le chemin du fichier qui contient le code et on peut utiliser "activeworkbook" pour le fichier actif.

Pour "\pictureGroup", cela doit être le chemin qui contient les images.
 
Notre forum d’entraide est 100 % gratuit et le restera.
Aucune formation payante, aucun fichier à acheter, rien à vendre. Mais comme tout site, nous devons couvrir nos frais pour continuer à vous accompagner.
Soutenez-nous en souscrivant à un compte membre : c’est rapide, vous choisissez simplement votre niveau de soutien et le tour est joué.

Je soutiens la communauté et j’accède à mon compte membre

Discussions similaires

Réponses
3
Affichages
785
Réponses
3
Affichages
563
Réponses
1
Affichages
443
Compte Supprimé 979
C
Retour