Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

userform et recherche multicritere

3 réponses
Avatar
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

3 réponses

Avatar
Fredo P.
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" a écrit dans le message de news:
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





Avatar
DOMINIQUE
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." a écrit dans le 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" a écrit dans le message de news:
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










Avatar
Fredo P.
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" a écrit dans le message de news:
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." a écrit dans le
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" a écrit dans le message de news:
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