OVH Cloud OVH Cloud

La condition ne fonctionne pas.

2 réponses
Avatar
François
Bonsoir,

Dans ce code je veux que k = une combobox mais malheureusement cela n'arrive
pas ???

k s'arrête toujours à la dernière non-vide (7269) mais la donnée
correspondante se trouve à la ligne 6839. Pourquoi cela ne fonctionne pas ?

For k = 2 To .Range("A65536").End(xlUp).Row

If .Cells(k, 1) = Me.Combo1.Text Then
If .Cells(k, 2) = Me.Combo2.Text Then
If .Cells(k, 3) = Me.Combo3.Text Then
If .Cells(k, 4) = Me.Combo4.Text Then
Ligne = k
End If
End If
End If
End If
Next

Pour voir le code et mieux comprendre, le fichier se trouve là :
http://cjoint.com/?jjeskpF8sl


Merci de votre aide.

2 réponses

Avatar
Antoine
Bonjour

Pourquoi après "ligne=k", ne pas mettre un Exit Sub ou un GoTo... si tant
est qu'il n'y ait qu'une seule ligne qui remplisse ces 4 conditions
simultanément ?

Pourquoi ne pas mettre les 4 conditions ensemble dans une même boucle : If
cond1 And cond2...Then...?

Antoine

"François" a écrit dans le message de news:
tRHMg.63189$
Bonsoir,

Dans ce code je veux que k = une combobox mais malheureusement cela
n'arrive pas ???

k s'arrête toujours à la dernière non-vide (7269) mais la donnée
correspondante se trouve à la ligne 6839. Pourquoi cela ne fonctionne pas
?

For k = 2 To .Range("A65536").End(xlUp).Row

If .Cells(k, 1) = Me.Combo1.Text Then
If .Cells(k, 2) = Me.Combo2.Text Then
If .Cells(k, 3) = Me.Combo3.Text Then
If .Cells(k, 4) = Me.Combo4.Text Then
Ligne = k
End If
End If
End If
End If
Next

Pour voir le code et mieux comprendre, le fichier se trouve là :
http://cjoint.com/?jjeskpF8sl


Merci de votre aide.



--------------------------------------------------------------------------------
J'utilise la version gratuite de SPAMfighter pour utilisateurs privés.
131 e-mails spam ont été bloqués jusqu'à maintenant.
Les utilisateurs payant n'ont pas ce message dans leurs e-mails.
Essayez SPAMfighter gratuitement maintenant!

Avatar
François
Bonjour Antoine;

Si modifié tel que a suggéré mais sans succès :

For u = 2 To .Range("A65536").End(xlUp).Row
If .Cells(u, 1) = Me.Combo1.Text And .Cells(u, 2) = Me.Combo2.Text And
.Cells(u, 3) = Me.Combo3.Text And .Cells(u, 4) = Me.Combo4.Text Then
Ligne = u
Exit Sub
End If
Next

u = 7269 (comme toujours) :(((((

Merci pour ton aide

François


"Antoine" a écrit dans le message de news:
%
Bonjour

Pourquoi après "ligne=k", ne pas mettre un Exit Sub ou un GoTo... si tant
est qu'il n'y ait qu'une seule ligne qui remplisse ces 4 conditions
simultanément ?

Pourquoi ne pas mettre les 4 conditions ensemble dans une même boucle : If
cond1 And cond2...Then...?

Antoine

"François" a écrit dans le message de news:
tRHMg.63189$
Bonsoir,

Dans ce code je veux que k = une combobox mais malheureusement cela
n'arrive pas ???

k s'arrête toujours à la dernière non-vide (7269) mais la donnée
correspondante se trouve à la ligne 6839. Pourquoi cela ne fonctionne pas
?

For k = 2 To .Range("A65536").End(xlUp).Row

If .Cells(k, 1) = Me.Combo1.Text Then
If .Cells(k, 2) = Me.Combo2.Text Then
If .Cells(k, 3) = Me.Combo3.Text Then
If .Cells(k, 4) = Me.Combo4.Text Then
Ligne = k
End If
End If
End If
End If
Next

Pour voir le code et mieux comprendre, le fichier se trouve là :
http://cjoint.com/?jjeskpF8sl


Merci de votre aide.



--------------------------------------------------------------------------------
J'utilise la version gratuite de SPAMfighter pour utilisateurs privés.
131 e-mails spam ont été bloqués jusqu'à maintenant.
Les utilisateurs payant n'ont pas ce message dans leurs e-mails.
Essayez SPAMfighter gratuitement maintenant!