Image dans UsFrm

egman

XLDnaute Occasionnel
Bonjour à tous,:p

Je sais que le sujet a été posé maintes et maintes fois mais aprés moultes recherches sur le forum je n'arrive toujours pas à adapter ce bout de code.
En fait je voudrai que dans ma base à l'aide du CmbNom du usrfrm afficher la photo corresondante à l'article choisit.
(les photos se trouvant dans un sous dossier photos dans le même répertoire que ma Base)

j'ai fais plusieurs essais différents et à chaque fois Excel me dit que ma variable n'est pas définit.

Je dois dire que je tourne en rond car je ne vois pas bien, n'étant pas un pro du VBA:)

Voila si une âme charitable pouvait m'aiguiller, ce serait sympa.
D'avance MERCI

je vous dépose mon probléme
Cijoint.fr - Service gratuit de dépôt de fichiers
 

kjin

XLDnaute Barbatruc
Re : Image dans UsFrm

Bonjour,
Dans les cellules les noms d'image contiennent déjà l'extension "jpg"
Code:
Private Sub CmbNom_Click()
Dim nom_image As String, chemin As String
If Me.CmbNom.ListIndex = -1 Then Exit Sub 'ON sort si pas de sélection

Image1.Picture = LoadPicture()

T1 = WS.Range("A" & Me.CmbNom.ListIndex + 2) 'On alimente les données correspondant à la ligne
'....
T27 = WS.Range("AC" & Me.CmbNom.ListIndex + 2) 'de l'index de la Combobox + 2 pour la ligne de Feuille

nom_image = WS.Range("AF" & Me.CmbNom.ListIndex + 2)
chemin = ActiveWorkbook.Path & "\_dossierphotos" & "\" & nom_image
If Dir(chemin) <> "" And nom_image <> "" Then Image1.Picture = LoadPicture(chemin)

With Me
Nom = .CmbNom
End With

End Sub
Ou à défaut gérer les erreurs
A+
kjin
 

RENAUDER

Nous a quitté
Repose en paix
Re : Image dans UsFrm

Bonjour,

J'ai corrigé ton fichier et cela me semble fonctionner.
Je te joins le code modifié de la procédure Private Sub CmbNom_Click()
 

Pièces jointes

  • Module3.zip
    866 bytes · Affichages: 58
  • Module3.zip
    866 bytes · Affichages: 54
  • Module3.zip
    866 bytes · Affichages: 66

egman

XLDnaute Occasionnel
Re : Image dans UsFrm

Un petit HIC encore...
J'arrive pas à initialiser mon contrôle Image

Private Sub CommandButton1_Click()
Dim CTRL As Control 'Variable pour la collection des controls
'On Vide tous les Controls
For Each CTRL In Me.Controls
If TypeOf CTRL Is MSForms.TextBox Or TypeOf CTRL Is MSForms.ComboBox Or TypeOf CTRL Is MSForms.Image Then
CTRL = ""
End If
Next CTRL

End Sub

Je pensai qu'en rajoutant (Or TypeOf CTRL Is MSForms.Image) au code cela suffirait...mais non, (CTRL = "") apparait en erreur...! ! !
Si vous aviez une idée.
 

kjin

XLDnaute Barbatruc
Re : Image dans UsFrm

Code:
Private Sub CmbNom_Click()
Dim nom_image As String, chemin As String
If Me.CmbNom.ListIndex = -1 Then Exit Sub 'ON sort si pas de sélection

[COLOR="Blue"]Image1.Picture = LoadPicture()[/COLOR]

T1 = WS.Range("A" & Me.CmbNom.ListIndex + 2) 'On alimente les données correspondant à la ligne
'....
T27 = WS.Range("AC" & Me.CmbNom.ListIndex + 2) 'de l'index de la Combobox + 2 pour la ligne de Feuille

nom_image = WS.Range("AF" & Me.CmbNom.ListIndex + 2)
chemin = ActiveWorkbook.Path & "\_dossierphotos" & "\" & nom_image
If Dir(chemin) <> "" And nom_image <> "" Then Image1.Picture = LoadPicture(chemin)

With Me
Nom = .CmbNom
End With
End Sub

kjin
 
Dernière édition:

egman

XLDnaute Occasionnel
Re : Image dans UsFrm

Bonjour Kjin

Bon je viens de regarder ton code (je fais du carrelage en même temps:)) et je vois pas trop de différence par rapport a ce qu'il y avait avant, si ce n'est que tu fais ta sélection sur la colonne AF (où se trouve les noms des images)

Private Sub CmbNom_Click()
Dim nom_image As String, chemin As String
If Me.CmbNom.ListIndex = -1 Then Exit Sub 'ON sort si pas de sélection

Image1.Picture = LoadPicture()

'Dim Cell As Object
'nom_image = Cells(CmbNom.ListIndex + 2, 32).Text
'On Error GoTo gestion

If Me.CmbNom.ListIndex = -1 Then Exit Sub 'ON sort si pas de sélection
T1 = WS.Range("A" & Me.CmbNom.ListIndex + 2) 'On alimente les données correspondant à la ligne
...........
T27 = WS.Range("AC" & Me.CmbNom.ListIndex + 2) 'de l'index de la Combobox + 2 pour la ligne de Feuille

nom_image = WS.Range("AF" & Me.CmbNom.ListIndex + 2)
chemin = ActiveWorkbook.Path & "\_dossierphotos" & "\" & nom_image
If Dir(chemin) <> "" And nom_image <> "" Then Image1.Picture = LoadPicture(chemin)

'If nom_image = "" Then Me.Image1.Picture = Nothing
'Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\_dossierphotos" & "\" & nom_image)

'ici on initialise les Variable pour mémoriser le valeur précédente en cas de Modif
With Me
Nom = .CmbNom
End With

'gestion: 'si pas d'image disponible pour chargement
'If Err.Number = 53 Then
'Label1.Caption = ""
'Image1.Picture = LoadPicture()
'End If

End Sub

Je ne comprend pas trop ... ! ! !
Et j'ai un autre petit probleme dans mes textbox de prix je voudrai que çà apparaise en € seulement dans ma TextBox Total je n'obtiens pas le résulat de mon opération à savoir ma TxtBox Prix x par la TxtBox Qté......
de même j'aimerai que le prix que je rentre dans ma TxBox Prix unitaire il calcule 30% en moins du prix que je tape (je rentre des prix en $)
D'avance merci de m'aiguiller sur les procédures à suivre
 

kjin

XLDnaute Barbatruc
Re : Image dans UsFrm

Bonsoir,
Bon je viens de regarder ton code (je fais du carrelage en même temps:)) et je vois pas trop de différence par rapport a ce qu'il y avait avant
Moi j'en vois une, c'est que maintenant ça fonctionne :D
J'ai repris ton fichier
J'ai du alléger pour poster sur le forum (exit les images)
A+
kjin
 

Pièces jointes

  • eggman.zip
    31.8 KB · Affichages: 50
Dernière édition:

egman

XLDnaute Occasionnel
Re : Image dans UsFrm

Bonsoir Kjin,

Un grand merci pour avoir passer du temps sur mon bout de code.
Çà marche nickel, je ne comprends pas tout dans tes modifs de code mais je vais analyser çà de plus prés histoire de comprendre.

Si je peux me permettre sans vouloir abuser j'ai vu un code que tu as adapté pour Kim75 concernant une listview.
J'ai voulu l'adapter à ma sauce en le simplifiant (c'était un filtrage sur listview avec MDP pour accéder à la partie modification) et en fait je voudrai simplement acéder à la partie modif et enregistrer mes modifs sur ma base sans passer par le Usrfm MDP
Seul HIC c'est que quand je rajoute des colonnes, çà fout la zone avec la fameuse partie "modif"....
Penses tu que je peux te faire passer mon bout de code pour y jeter un coup d'euil ?

Encore MERCI
 

kjin

XLDnaute Barbatruc
Re : Image dans UsFrm

Bonjour,
Si je peux me permettre sans vouloir abuser j'ai vu un code que tu as adapté pour Kim75 concernant une listview.....Penses tu que je peux te faire passer mon bout de code pour y jeter un coup d'euil ?
Pour ma part, oui et non :D
Oui, tu peux, sur le forum et dans un nouveau fil, le sujet n'ayant rien à avoir avec celui-ci
Non, on ne le répétera jamais assez, dans ton cas un bout de code sorti de son contexte ne suffit pas, donc joint ton fichier allégé et une note explicative du pb que tu rencontres.
A+
kjin
 

egman

XLDnaute Occasionnel
Re : Image dans UsFrm

Bonjour,

Pour ma part, oui et non :D
Oui, tu peux, sur le forum et dans un nouveau fil, le sujet n'ayant rien à avoir avec celui-ci
Non, on ne le répétera jamais assez, dans ton cas un bout de code sorti de son contexte ne suffit pas, donc joint ton fichier allégé et une note explicative du pb que tu rencontres.
A+
kjin

Bonjour Kjin

Merci pour la réponse, pour mon nouveau probléme de listview je vais créer un nouveau post, ce sera plus simple.
Au plaisir A+
 

Discussions similaires

Statistiques des forums

Discussions
311 721
Messages
2 081 928
Membres
101 842
dernier inscrit
seb0390