mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
28 déc. 2005 à 20:47
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
1 janv. 2006 à 17:33
Bonsoir à tous,
Je bute sur un problème d'affichage :
En VBA Excel, j'ai créé un UserForm qui, suivant ce qui est affiché dans la combobox,
inscrit des données dans des Labels.
Dans ma colonne A de la feuille Excel, j'ai une liste à faire apparaitre dans la ComboBox,
puis des données dans les Colonnes B, C & D.
Voici mon code :
Private Sub UserForm1_Initialize()
ComboBoxListe1.RowSource = "NomFeuille!A2:A167"
End Sub
' Cela fonctionne très bien !
puis, pour afficher les infos :
Private Sub ComboBoxListe1_Change()
For i = 2 to 167
aa = ("A" & i)
bb = ("B" & i)
cc = ("C" & i)
dd = ("D" & i)
If ComboBoxListe1.Value = Range(aa).Value then
Label1.Value = Range(bb).Value
Label2.Value = Range(cc).Value
Label3.Value = Range(dd).Value
End If
Next i
End Sub
' Dans cette configuration, ça marche très bien, mes infos s'affichent dans les Labels, par contre, si je rajoute sous le Label3 :
ElseIf ComboBoxListe1.Value <>Range(aa).Value then
Label1.Value = ""
Label2.Value = ""
Label3.Value = ""
' pour gérer les noms qui ne font pas parti de la liste de la ComboBox, même si un appartient bien à cette fameuse liste, mes Labels reste vierge, alors qu'ils devraient afficher des infos.
Une âme charitable aurait-elle le moyen de m'aider à faire apparaitre mes infos si le nom est existant et à l'inverse, ne rien afficher si le nom ne correspond à rien.
GRAND MERCI et Joyeuse Fêtes de Fin d'Année
Mortalino
A voir également:
Suivant ce qui est affiché dans une ComboBox, afficher des infos
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 29 déc. 2005 à 09:48
vraiment étrange...
au passage, le ElseIf est inutile :
Private Sub ComboBoxListe1_Change()
For i = 2 to 167
aa = ("A" & i)
bb = ("B" & i)
cc = ("C" & i)
dd = ("D" & i)
If ComboBoxListe1.Value = Range(aa).Value then
Label1.Value = Range(bb).Value
Label2.Value = Range(cc).Value
Label3.Value = Range(dd).Value
Else
Label1.Value = VbNullString
Label2.Value = VbNullString
Label3.Value = VbNullString
End If
Next i
End Sub
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 30 déc. 2005 à 13:01
Salut Renfield,
j'ai essayé ta méthode mais ça me fait le même problème :
le Else
Label1.Value = VbNullString
etc...
End If
prend le dessus et donc mes infos ne s'affiche pas.
PS : j'ai mis Label3.Caption car le Value n'est pas pris en compte.
Sinon le fait que la combobox ai l'écriture intuitive n'y fait elle pas pour quelque chose ?