OVH Cloud OVH Cloud

Probleme avec des ComboBox

1 réponse
Avatar
neicna60
Salut,

J'ai cr=E9er une appli VBA pour Excel avec des masques de=20
saisies via des Userform. Cette appli g=E8re une liste des=20
personnels et des donn=E9es concernant ces personnes. En=20
mode modification, je s=E9lectionne la fiche de la personne=20
=E0 modifier =E0 l'aide d'un ComboBox (contenant le noms de=20
famille) , et les donn=E9es de cette derni=E8re apparaisse.=20
Cependant, j'ai 2 personnes s'appelant PETIT et MONPETIT.=20
Lorsque j'appelle la fiche de PETIT, c'est information=20
apparaisse correctement, mais lorsque j'appelle la fiche=20
de MONPETIT, le pr=E9nom et les autres donn=E9es sont celles=20
de PETIT. Alors que pour toutes les autres personnes le=20
syst=E8me fonctionne.=20
Que faire ???

NB : Voici le d=E9but de mon code=20
If CB_Nom <> "" Then =20
Sheets("donn=E9es").Select
Cells(199, 1).Select
SELECTion.End(xlUp).Select
finliste =3D ActiveCell.Row
Debutliste =3D 2
nbligne =3D Debutliste
Range(Cells(2, 4), Cells(finliste, 4)).Select
=20
With SELECTion
Set Resultech =3D .Find(CB_Nom, after:=3DCells(2, 4), _=20
LookIn:=3DxlFormulas, LookAt:=3DxlPart, _=20
SearchOrder:=3DxlByRows, searchdirection:=3DxlNext, _=20
MatchCase:=3DFalse)
=20
If Not Resultech Is Nothing Then
dim Ligne As String
Ligne =3D Resultech.Row
=20
'Recherche du pr=E9nom
TB_Pr=E9nom =3D Cells(Ligne, 6)

etc....
Merci, fr=E9d=E9ric

1 réponse

Avatar
Ellimac
Bonjour,

Dans le .Find remplace LookAt:=xlPart par LookAt:=xlWhole

Autre solution, mais qui modifiera complètement ton code,
récupérer le n° d'index de ta combobox et te décaler dans
ton tableau par rapport à cete valeur. Les index dans une
combobox commencent à la valeur 0.

Camille

-----Message d'origine-----
Salut,

J'ai créer une appli VBA pour Excel avec des masques de
saisies via des Userform. Cette appli gère une liste des
personnels et des données concernant ces personnes. En
mode modification, je sélectionne la fiche de la personne
à modifier à l'aide d'un ComboBox (contenant le noms de
famille) , et les données de cette dernière apparaisse.
Cependant, j'ai 2 personnes s'appelant PETIT et MONPETIT.
Lorsque j'appelle la fiche de PETIT, c'est information
apparaisse correctement, mais lorsque j'appelle la fiche
de MONPETIT, le prénom et les autres données sont celles
de PETIT. Alors que pour toutes les autres personnes le
système fonctionne.
Que faire ???

NB : Voici le début de mon code
If CB_Nom <> "" Then
Sheets("données").Select
Cells(199, 1).Select
SELECTion.End(xlUp).Select
finliste = ActiveCell.Row
Debutliste = 2
nbligne = Debutliste
Range(Cells(2, 4), Cells(finliste, 4)).Select

With SELECTion
Set Resultech = .Find(CB_Nom, after:Îlls(2, 4), _
LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, searchdirection:=xlNext, _
MatchCase:úlse)

If Not Resultech Is Nothing Then
dim Ligne As String
Ligne = Resultech.Row

'Recherche du prénom
TB_Prénom = Cells(Ligne, 6)

etc....
Merci, frédéric

.