Code VBA pb de type pour charger picture

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
 

Tentative

XLDnaute Occasionnel
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
 

jego.guillaume22

XLDnaute Nouveau
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

  • testForumVBAPicture.zip
    17.4 KB · Affichages: 16

roro69

XLDnaute Impliqué
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++
 

PMO2

XLDnaute Accro
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

  • Piste pour jego.guillaume22.xls
    43 KB · Affichages: 22

jego.guillaume22

XLDnaute Nouveau
Re : Code VBA pb de type pour charger picture

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

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 :D.
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 !
 

MJ13

XLDnaute Barbatruc
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.
 

Discussions similaires

Réponses
1
Affichages
306
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 330
Messages
2 087 335
Membres
103 523
dernier inscrit
mounir2025