Excel VBA

Forum Programmation VB / VBA Statistiques Charte Ajouter à mes raccourcis

Posez votre question

Liste des messages

Discussion

Liste des forums

Signaler Code VBA

Debutant.VBA - 7 avril 2017 à 18:38

Ne plus suivre - Modifier

bonjour,

SVP? j'ai réalisé une userform sur la quelle se trouve combobox1 et listbox1

mon objectif est qu'en sélectionnant une lettre alphabétique dans la combobox1, toutes personnes enregistrés sous cette lettre s’affiche automatiquement dans la listbox1

puis en cliquant sur chaque nom de la listbox1 le reste des informations de cette personne affiche dans les autre champs y compris la photo

le tableau commence de la colonne A à Y soit 25 colonnes la photo est enregistrer automatiquement dans un dossier nommé PHOTOS.

les la colonne B est est la colonne de la lettre alphabétique et les noms dans la colonne C

la feuille est nommé IDENTIFICATION

Mon souci est que la photo n'affiche pas pendant que le reste marche correctement

voici le code que j’ai puis utilisé:

ou voir la pièce jointe .

Private Sub ListBox1_Click()

Dim I As Integer, lig As Long

'raz des TextBox et OptionButton

For C = 1 To 21

Me.Controls("Textbox" & C) = ""

Next C

For C = 1 To 4

With Me.Controls("OptionButton" & C)

.Value = False

.ForeColor = vbBlack

End With

Next C

'recuperation ligne Infos

lig = ListBox1.List(ListBox1.ListIndex, 1) 'ligne choix

'remplissage Textbox

'A D E F G H IO J K L M N O P QO R S T U V W X Y

'1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

With Worksheets("IDENTIFICATION")

Ntxt = 1

For C = 1 To 25

If C = 21 Then

x = x

End If

If C <> 2 And C <> 3 And C <> 9 And C <> 17 Then

Me.Controls("TextBox" & Ntxt) = .Cells(lig, C)

Ntxt = Ntxt + 1

ElseIf C = 9 Then 'Marié/Célibataire

If .Cells(lig, 9) = "Marié" Then

With OptionButton1

.Value = True

.ForeColor = vbRed

End With

With OptionButton2

.ForeColor = vbBlack

End With

Else

With OptionButton2

.Value = True

.ForeColor = vbRed

End With

With OptionButton1

.ForeColor = vbBlack

End With

End If

ElseIf C = 17 Then 'Batisé(e): Oui/Non

If .Cells(lig, 17) = "Oui" Then

With OptionButton3

.Value = True

.ForeColor = vbRed

End With

With OptionButton4

.ForeColor = vbBlack

End With

Else

With OptionButton4

.Value = True

.ForeColor = vbRed

End With

With OptionButton3

.ForeColor = vbBlack

If Dir(ThisWorkbook.Path & "\" & "PHOTOS\" & ComboBox1 & ".jpg") = "" Then

Me.Image1.Picture = LoadPicture("")

Else

Me.Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & "PHOTOS\" & ComboBox1 & ".jpg")

End If

End With

End If

End If

Next C

End With

End Sub

voir pièce jointe

https://www.cjoint.com/c/GDhqJ2QbkJ2

merci à touts

Bonjour,

Dans le LoadPicture tu te réfères à Combo1 or je suppose que tu devrais te référer à ListBox1

Peut-être aussi fermer le Else... With précédent... Avant de poser ton LoadPicture...

A+

bonjour lr forum

toutes mes remerciements à galopin01

j'ais fais ce que tu m'a montré et là ça charge quelques images et laisse et d'autres

peut être à moi l’erreur

voici le code que j'ais inscris

End With

Else

With OptionButton4

.Value = True

.ForeColor = vbRed

End With

With OptionButton3

.ForeColor = vbBlack

If Dir(ThisWorkbook.Path & "\" & "PHOTOS\" & ListBox1 & ".jpg") = "" Then

Me.Image1.Picture = LoadPicture("")

Else

Me.Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & "PHOTOS\" & ListBox1 & ".jpg")

End If

End With

End If

End If

Next C

End With

End Sub

Parce que tu es dans ce If :

If .Cells(lig, 17) = "Oui" Then ... Else

Donc Tu ne charges l'image que dans le "Oui" (ou le "Else" je ne me rappelle plus...)

Donc il faut fermer tous les If... End If ...End With qui ne sont plus nécessaires avant d'afficher les images...

A+

merci pour ton aide galopin01

juste une dernière fois STP

il faut voir dans ce fichier joint pour m'aidé STP

une fois de plus merci

https://www.cjoint.com/c/GDioJL0xP4t

Et je dois voir quoi ?

STP ce qui ne vas pas dans mon codage

merci pour le temps que tu utilise pour moi

Désolé,

Je ne fonctionne pas comme ça. Si tu as une question précise je répond (quand se sais...)

Mais je n'aime pas chercher la question.

A+

Rechercher des sujets similaires à "vba"