userform et recherche multicritere

Le
DOMINIQUE
Bonjour le forum,
Pouvez vous m aider a résoudre ce problème? Je vous en remercie d avance.

J'ai un userform comprenant 2 combobox et 2 textbox.
les combobox servent de critères pour remplis les deux textbox
La base de donnée :
Nu Jour NBr coq nbr de pou
1 2006 100 200
2 2006 101 201
3 2006 102 202
4 2006 103 203
5 2006 104 204
6 2006 105 205
7 2006 106 206
1 2007 107 207
2 2007 108 208
3 2007 109 209
4 2007 110 210
5 2007 111 211
6 2007 112 212
7 2007 113 213

Mon problème est de remplir les textbox avec les valeurs correspondantes au
colonne 3 et 4.exemple : le 5 (combobox1) de 2006 (combobox2) apporte au
texbox1 la valeur 104 et au textbox2 la valeur 205
J ai commencé ce code mais je suis perdu et ca ne marche pas mais ca ne
plante pas
Sub recherche1()

With Sheets("feuil1")
derlig = .Range("A65000").End(xlUp)

For i = 18 To derlig
If .Cells(i, 1) = ComboBox1.Value Then
If .Cells(i, 2) = ComboBox2.Value Then
Me.TextBox1 = .Cells(i, 3)
Me.TextBox2 = .Cells(i, 4)
Else: i = i + 1
End If
Else: i = i + 1
End If
Next
End With
End Sub
et avec ca
Private Sub ComboBox1_Change()
Call recherche1
End Sub

merci pour votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fredo P.
Le #22166661
Bonjour
Veiller à ce que les données soient au format "Nombre"

http://cjoint.com/?fztxBMS7Xg

Private Sub ComboBox1_Change()
If ComboBox2 <> "" Then
TextBox1 = Cells(Evaluate("sum((A1:A14=" & ComboBox1 & ")*(B1:B14="
& ComboBox2 & ")*row(A1:A14))"), 3)
TextBox2 = Cells(Evaluate("sum((A1:A14=" & ComboBox1 & ")*(B1:B14="
& ComboBox2 & ")*row(A1:A14))"), 4)
End If
End Sub

Private Sub ComboBox2_Change()
If ComboBox1 <> "" Then
TextBox1 = Cells(Evaluate("sum((A1:A14=" & ComboBox1 & ")*(B1:B14="
& ComboBox2 & ")*row(A1:A14))"), 3)
TextBox2 = Cells(Evaluate("sum((A1:A14=" & ComboBox1 & ")*(B1:B14="
& ComboBox2 & ")*row(A1:A14))"), 4)
End If
End Sub

Private Sub CommandButton1_Click()
Me.Hide
Unload Me
End Sub

Private Sub UserForm_Initialize()
ComboBox1.AddItem Cells(1, 1)
ComboBox2.AddItem Cells(1, 2)
For i = 2 To [counta(A:A)]
If Range("A1:A" & i - 1).Find(Cells(i, 1) * 1) Is Nothing Then
ComboBox1.AddItem Cells(i, 1)
End If
If Range("B1:B" & i - 1).Find(Cells(i, 2) * 1) Is Nothing Then
ComboBox2.AddItem Cells(i, 2)
End If
Next
End Sub

"DOMINIQUE" uR0VaNB$
Bonjour le forum,
Pouvez vous m aider a résoudre ce problème? Je vous en remercie d avance.

J'ai un userform comprenant 2 combobox et 2 textbox.
les combobox servent de critères pour remplis les deux textbox
La base de donnée :
Nu Jour NBr coq nbr de pou
1 2006 100 200
2 2006 101 201
3 2006 102 202
4 2006 103 203
5 2006 104 204
6 2006 105 205
7 2006 106 206
1 2007 107 207
2 2007 108 208
3 2007 109 209
4 2007 110 210
5 2007 111 211
6 2007 112 212
7 2007 113 213

Mon problème est de remplir les textbox avec les valeurs correspondantes
au colonne 3 et 4.exemple : le 5 (combobox1) de 2006 (combobox2) apporte
au texbox1 la valeur 104 et au textbox2 la valeur 205
J ai commencé ce code mais je suis perdu et ca ne marche pas mais ca ne
plante pas
Sub recherche1()

With Sheets("feuil1")
derlig = .Range("A65000").End(xlUp)

For i = 18 To derlig
If .Cells(i, 1) = ComboBox1.Value Then
If .Cells(i, 2) = ComboBox2.Value Then
Me.TextBox1 = .Cells(i, 3)
Me.TextBox2 = .Cells(i, 4)
Else: i = i + 1
End If
Else: i = i + 1
End If
Next
End With
End Sub
et avec ca
Private Sub ComboBox1_Change()
Call recherche1
End Sub

merci pour votre aide





DOMINIQUE
Le #22168851
Merci beaucoup pour votre aide
Malheureusement l exemple que j ai donné devra être adapté a des valeurs
numériques et texte, j ai donc pris un mauvais exemple. Je vois que vous
utiliser la fonction evaluate et sum; Es ce que cela correspond a la
sommeprod?
Merci pour votre réponse

"Fredo P." de groupe de discussion : up$iE9C$
Bonjour
Veiller à ce que les données soient au format "Nombre"

http://cjoint.com/?fztxBMS7Xg

Private Sub ComboBox1_Change()
If ComboBox2 <> "" Then
TextBox1 = Cells(Evaluate("sum((A1:A14=" & ComboBox1 & ")*(B1:B14="
& ComboBox2 & ")*row(A1:A14))"), 3)
TextBox2 = Cells(Evaluate("sum((A1:A14=" & ComboBox1 & ")*(B1:B14="
& ComboBox2 & ")*row(A1:A14))"), 4)
End If
End Sub

Private Sub ComboBox2_Change()
If ComboBox1 <> "" Then
TextBox1 = Cells(Evaluate("sum((A1:A14=" & ComboBox1 & ")*(B1:B14="
& ComboBox2 & ")*row(A1:A14))"), 3)
TextBox2 = Cells(Evaluate("sum((A1:A14=" & ComboBox1 & ")*(B1:B14="
& ComboBox2 & ")*row(A1:A14))"), 4)
End If
End Sub

Private Sub CommandButton1_Click()
Me.Hide
Unload Me
End Sub

Private Sub UserForm_Initialize()
ComboBox1.AddItem Cells(1, 1)
ComboBox2.AddItem Cells(1, 2)
For i = 2 To [counta(A:A)]
If Range("A1:A" & i - 1).Find(Cells(i, 1) * 1) Is Nothing Then
ComboBox1.AddItem Cells(i, 1)
End If
If Range("B1:B" & i - 1).Find(Cells(i, 2) * 1) Is Nothing Then
ComboBox2.AddItem Cells(i, 2)
End If
Next
End Sub

"DOMINIQUE" uR0VaNB$
Bonjour le forum,
Pouvez vous m aider a résoudre ce problème? Je vous en remercie d avance.

J'ai un userform comprenant 2 combobox et 2 textbox.
les combobox servent de critères pour remplis les deux textbox
La base de donnée :
Nu Jour NBr coq nbr de pou
1 2006 100 200
2 2006 101 201
3 2006 102 202
4 2006 103 203
5 2006 104 204
6 2006 105 205
7 2006 106 206
1 2007 107 207
2 2007 108 208
3 2007 109 209
4 2007 110 210
5 2007 111 211
6 2007 112 212
7 2007 113 213

Mon problème est de remplir les textbox avec les valeurs correspondantes
au colonne 3 et 4.exemple : le 5 (combobox1) de 2006 (combobox2) apporte
au texbox1 la valeur 104 et au textbox2 la valeur 205
J ai commencé ce code mais je suis perdu et ca ne marche pas mais ca ne
plante pas
Sub recherche1()

With Sheets("feuil1")
derlig = .Range("A65000").End(xlUp)

For i = 18 To derlig
If .Cells(i, 1) = ComboBox1.Value Then
If .Cells(i, 2) = ComboBox2.Value Then
Me.TextBox1 = .Cells(i, 3)
Me.TextBox2 = .Cells(i, 4)
Else: i = i + 1
End If
Else: i = i + 1
End If
Next
End With
End Sub
et avec ca
Private Sub ComboBox1_Change()
Call recherche1
End Sub

merci pour votre aide










Fredo P.
Le #22172581
Une apparenté de Sommeprod; (Somme en matriciel = Sommeprod) mais les
difficultés que j'ai rencontrés hier pour cette question de format texte
n'existe plus aujourd'hui, le format de certaines valeurs au format texte ne
perturbe pas les résultats. (Cela devait sans doute du au climat orageux
d'hier o:)))
http://cjoint.com/?fAv3Wi0AFw


"DOMINIQUE" u0OYLVK$
Merci beaucoup pour votre aide
Malheureusement l exemple que j ai donné devra être adapté a des valeurs
numériques et texte, j ai donc pris un mauvais exemple. Je vois que vous
utiliser la fonction evaluate et sum; Es ce que cela correspond a la
sommeprod?
Merci pour votre réponse

"Fredo P." message de groupe de discussion : up$iE9C$
Bonjour
Veiller à ce que les données soient au format "Nombre"

http://cjoint.com/?fztxBMS7Xg

Private Sub ComboBox1_Change()
If ComboBox2 <> "" Then
TextBox1 = Cells(Evaluate("sum((A1:A14=" & ComboBox1 &
")*(B1:B14=" & ComboBox2 & ")*row(A1:A14))"), 3)
TextBox2 = Cells(Evaluate("sum((A1:A14=" & ComboBox1 &
")*(B1:B14=" & ComboBox2 & ")*row(A1:A14))"), 4)
End If
End Sub

Private Sub ComboBox2_Change()
If ComboBox1 <> "" Then
TextBox1 = Cells(Evaluate("sum((A1:A14=" & ComboBox1 &
")*(B1:B14=" & ComboBox2 & ")*row(A1:A14))"), 3)
TextBox2 = Cells(Evaluate("sum((A1:A14=" & ComboBox1 &
")*(B1:B14=" & ComboBox2 & ")*row(A1:A14))"), 4)
End If
End Sub

Private Sub CommandButton1_Click()
Me.Hide
Unload Me
End Sub

Private Sub UserForm_Initialize()
ComboBox1.AddItem Cells(1, 1)
ComboBox2.AddItem Cells(1, 2)
For i = 2 To [counta(A:A)]
If Range("A1:A" & i - 1).Find(Cells(i, 1) * 1) Is Nothing Then
ComboBox1.AddItem Cells(i, 1)
End If
If Range("B1:B" & i - 1).Find(Cells(i, 2) * 1) Is Nothing Then
ComboBox2.AddItem Cells(i, 2)
End If
Next
End Sub

"DOMINIQUE" uR0VaNB$
Bonjour le forum,
Pouvez vous m aider a résoudre ce problème? Je vous en remercie d
avance.

J'ai un userform comprenant 2 combobox et 2 textbox.
les combobox servent de critères pour remplis les deux textbox
La base de donnée :
Nu Jour NBr coq nbr de pou
1 2006 100 200
2 2006 101 201
3 2006 102 202
4 2006 103 203
5 2006 104 204
6 2006 105 205
7 2006 106 206
1 2007 107 207
2 2007 108 208
3 2007 109 209
4 2007 110 210
5 2007 111 211
6 2007 112 212
7 2007 113 213

Mon problème est de remplir les textbox avec les valeurs correspondantes
au colonne 3 et 4.exemple : le 5 (combobox1) de 2006 (combobox2) apporte
au texbox1 la valeur 104 et au textbox2 la valeur 205
J ai commencé ce code mais je suis perdu et ca ne marche pas mais ca ne
plante pas
Sub recherche1()

With Sheets("feuil1")
derlig = .Range("A65000").End(xlUp)

For i = 18 To derlig
If .Cells(i, 1) = ComboBox1.Value Then
If .Cells(i, 2) = ComboBox2.Value Then
Me.TextBox1 = .Cells(i, 3)
Me.TextBox2 = .Cells(i, 4)
Else: i = i + 1
End If
Else: i = i + 1
End If
Next
End With
End Sub
et avec ca
Private Sub ComboBox1_Change()
Call recherche1
End Sub

merci pour votre aide










Publicité
Poster une réponse
Anonyme