Problème IF double condition dans un userform

dy0n1s0s

XLDnaute Nouveau
Bonjour à tous,

J'ai une fiche client, pour mettre à jour cette fiche client, j'ai un formulaire client qui me permet, ou de créer un nouveau client, ou de modifier un ancien.

Mon problème se pose lors de la modification. Je voudrais que lorsque l'on tape dans la combobox "nom" un nom présent dans la liste et dans la combobox "prénom" le prénom associé à ce nom, l'adresse le code postal la ville... de ce client s'affiche dans les autres combobox afin de les modifier. Voici le code que j'ai écrit :

Private Sub prenom_Change()
With Sheets("clients")
If Nom.ListIndex <> -1 And prenom.ListIndex <> -1 Then

Me.Id_client = .Cells(Me.Nom.ListIndex + 3, 1)
Me.adresse = .Cells(Me.Nom.ListIndex + 3, 4)
Me.code_postal = .Cells(Me.Nom.ListIndex + 3, 5)
Me.ville = .Cells(Me.Nom.ListIndex + 3, 6)
Me.tel_fixe = .Cells(Me.Nom.ListIndex + 3, 7)
Me.tel_portable = .Cells(Me.Nom.ListIndex + 3, 8)
Me.Num_siret = .Cells(Me.Nom.ListIndex + 3, 9)


End If
End With
End Sub


Le problème est que, si j'ai deux clients : Soumille michel et Dupont jacques, par exemple, si je rentre soumille michel, il me rentre les données de Mr soumille, si je rentre soumille jacques, il me rentre aussi les données de Mr soumille.
Je voudrais qu'il cherche le nom et le prénom associé seulement.

Merci d'avance!
 

dy0n1s0s

XLDnaute Nouveau
Re : Problème IF double condition dans un userform

Okay je crois que je vois à peu pres, et comment as tu fait pour sélectionner les données de la liste déroulante sans les rentrer dans "rowsource" (c'est ce que je faisais, ta technique à l'ai plus efficace).

Désolé pour le flood, je pose mes questions au fur et à mesure que je découvre le fichier^^
 

dy0n1s0s

XLDnaute Nouveau
Re : Problème IF double condition dans un userform

Bon cane fonctionne pas : voici mon code pour une feuille qui s'appelle "produits" dont les nom des produits(valeur à référencer) se trouve en colonne B à partir de la ligne 3 je veux les afficher dans une combobox qui s'apelle "produit"

Private Sub produits_Initialize()
Dim Cell As Range
Dim Itm As Integer
'Je crée une collection dont le but sera d'éliminer les noms doublonnés
'( par exemple deux produits ayant le même nom mais pas le même prénom)
Dim Collec As New Collection
' Avec la feuille produits( qui sera dorénavant remplacé par un point)
With Sheets("Produits")
'Pour chaque cellule documentée entre la cellule B3 et la première cellule occupée en partant et (en remontant)
' de ma dernière cellule ("B65536")
For Each Cell In .Range("B3:B" & Range("B65536").End(xlUp).Row)
' En cas d'erreur passer à la ligne suivante
'Car le fait d'avoir un nom doublonné engendrera une erreur
On Error Resume Next
' je charge la collection des données uniques ( Le verropu unique se fait par la clé CStr(Cell.Offset(0, 1))
Collec.Add (Cell.Offset(0, 1)), CStr(Cell.Offset(0, 1))
On Error GoTo 0
Next
' Pour chaque item contenu dans la collection ( Collec count est le nombre d'item)
For Itm = 1 To Collec.Count
' Je viens charger la liste de la combo ( item par item : une boucle)
Produit.AddItem Collec.Item(Itm)
Next
End With
End Sub


Ou est l'erreur?
 

dy0n1s0s

XLDnaute Nouveau
Re : Problème IF double condition dans un userform

Bon evidemment, il y a encore un problème, ^^

Il semble que avec cette formule je puisse seulement faire une liste déroulante dynamique par userform, j'ai essayé d'en faire deux, et il m'a mis les memes valeurs dans les deux, je pense que c'est à cause des
Dim Itm As Integer
et
Dim Collec As New Collection
Il faut que je les numerote non? du genre :
Dim Itm1 as integer
Dim collec1 as new collection

EDIT : Après une modification, ca fonctionne.
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
166

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 104
dernier inscrit
JEMADA