Photo associée à une combo

Bonjour à tous,

j'essaye de faire afficher une image correspondante à un appareil ce dernier est sélectionné par une combobox dans un userform.

Dans mon classer d'essai (en pj) ça fonctionne, par contre quand je le met dans mon classeur projet j'ai une erreur (photo)

ça me dit que "photo" la variable n'est pas déclarée, la seule chose que j'ai changé c'est l'adresse

photo = Sheets("Données").Cells(LigVGP, 22)

Par avance merci pour vos lumières.

Cordialement.

1 2
16classeur2.xlsm (27.85 Ko)

Bonjour

sans le fichier difficile de se rendre compte

à Première vue message "variable non définie" il s'arrête sur "photo" ta variable que tu n'as pas déclarée en début de vba.

c'était quoi l'adresse avant ?

Bonjour Xmenpl,

merci pour ton aide, je met en PJ mon projet,

j'ai déclaré la variable photo as string mais les images ne s'affiche pas, j'en perd mon latin lol y compris sur mes combobox en cascade qui affiche que le message si les données ne sont pas trouvées.

Par avance merci pour votre aide.

Cordialement.

J'ai une erreur d'exécution 422 à l'ouverture du userform

Par contre dans le module "Gestion" je vois qu'il y a plusieurs variables désactivées. comme par exemple

'Public ShtS As Worksheet ' Feuille Source

Puisque dans ton classeur d'essai celà fonctionne regarde les différences de déclaration du module gestion.

Ou joint aussi ton classeur test pourque l'on puisse voir les différences..

Re Xmenpl,

oui les variables sont ré activées mais rine n'y fait.

Je met en PJ mon classeur test.

Cordialement.

8classeur2.xlsm (25.93 Ko)

Bonjour,

Le message est très clair, tu n'as pas déclaré la variable "Photo" et tu as ce message car en tête de module il y a "Option Explicit" qui demande la déclaration de toutes les variables de façon explicite

Si tu n'as pas de message dans l'autre classeur, c'est tout simplement que "Option Explicit" n'est pas inscrit en tête de module et les variables sont utilisées à la volée une fois que le compilateur arrive sur la ligne de code mais pour éviter de chercher parfois des erreurs à s'en arracher les cheveux, il est fortement conseillé de demander la déclaration explicite des variables (Menu "Outils" --> "Options..." --> Onglet "Editeur", cocher la case "Déclaration des variables obligatoire")

Re

Si tu regardes ton classeur d'origine les liens de tes photos indiques une adresse compléte du style :

E:\mes documents\.......

Dans ton classeurs final ils ne sont plus sous forme d'adresse juste :

Photos appareils\.......

Pas étonnant qu'il ne trouve pas l'adresse.

Bonsoir Theze et Xmenpl,

merci pour vos lumières.

Theze je te remercie pour ces explications claires et importantes, ainsi que pour l'astuce.

Xmenpl effectivement l'erreur vient du chemin de l'adresse, grrrrr.

Je ne sais pas pourquoi effectivement l'adresse est raccourci, pourtant j'ai procédé de la même façon sur les deux classeurs, insertion/ lien ect.

Tant de temps perdu pour cette broutille lol.

L'essentielle c'est d'avoir trouvé encore merci pour tout.

Bonne soirées

Cordialement.

l'important c'est que ton problème soit résolu

Oui mais je comprend toujors pas pourquoi l'adresse de mes liens hypertexte ne sont pas en entier, je vais mener l'enquête.

Bonsoir,

En utilisant les images internes.

Dim f
Private Sub UserForm_Initialize()
  Set f = Sheets("Appareils")
  i = 0
  For Each c In [Appareils]
    Me.ComboBox1.AddItem c
    For Each s In f.Shapes
       If s.TopLeftCell.Address = c.Offset(, 1).Address Then NomShape = s.Name: Exit For
    Next s
    Me.ComboBox1.List(i, 1) = NomShape
    i = i + 1
  Next c
End Sub

Private Sub ComboBox1_Change()
  s = Me.ComboBox1.Column(1)
  Sheets("APPareils").Shapes(s).CopyPicture xlScreen, xlPicture
  Set image1.Picture = PastePicture(xlPicture)
End Sub

Boisgontier

Bonsoir BOISGONTIER,

merci pour ce classeur avec les image sinterne c'est ce que je cherchais à faire au départ lol.

Je le garde pour une prochaine.

Cordialement

Rechercher des sujets similaires à "photo associee combo"