Bonjour et Bonne fête de fin d'année à tous
Après plusieurs heure à m'arracher les cheveux sur un problème de variable, je me tourne vers vous (avant de ne plus en avoir)
Sur ma macro Sub a_Inventaire_H_input()
Dans le module N° 1 :
J'ai une formule qui fonctionne :
If ncond = 1 Then: If Cells(i, cond1) <> Cells(i - 1, cond1) Then GoTo 4 'Si la cellule X1 est différente de X1 -1 …
If ncond = 1 Then: Set q = Cells(i, cond1): Set v = Cells(i - 1, cond1): If (q) <> (v) Then GoTo 4 '(Fonctionne aussi)
If ncond = 2 Then: Set q = Cells(i, cond1): Set v = Cells(i - 1, cond1): Set r = Cells(i, cond2): Set w = Cells(i - 1, cond2): If (q) <> (v) Or (r) <> (w) Then GoTo 4 '(Marche très bien également)
Je désire pouvoir choisir l'opérateur de comparaison et donc, l'utiliser sous forme d'une variable, pour pouvoir choisir l'opérateur désiré (<> ou = ou < ou >)
J'ai donc essayé comme ceci
If ncond = 1 Then: Set q = Cells(i, cond1): Set v = Cells(i - 1, cond1): If (q) (oper) (v) Then GoTo 4
Conclusion : ça ne fonctionne pas
puis
If ncond = 1 Then: Set q = Cells(i, cond1): Set v = Cells(i - 1, cond1): If ((q) (oper) (v)) Then GoTo 4
'If ncond = 1 Then: Set q = Cells(i, cond1): Set v = Cells(i - 1, cond1): If (q) & (oper) & (v) Then GoTo 4
If ncond = 1 Then: Set q = Cells(i, cond1): Set v = Cells(i - 1, cond1): If (q) (oper) (v) Then GoTo 4
Puis de bien d'autres façons, en ajoutant ou retirant des & ou des ( ) ou des [ ] ou des virgules : Nada
La macro plante, mais lorsque je mets le pointeur de souris sur chaque variable : la variable est OK : j'ai bien le contenu de ma première cellule, l'opérateur désiré et le contenu de ma 2 ème cellule.
Je tourne en rond et ne comprend pas pourquoi ça ne fonctionne pas.
Y a-t-il une astuce que je ne connais pas ?
(J'ai mis des valeurs par défaut aux input-box, pour gagner du temps)
PS Je ne pourrais pas répondre avant le 2 ou 3 janvier
Merci à ceux qui ce pencherons sur mon problème (c'est certainement tout con, mais je débute…)
Bon réveillon !
Après plusieurs heure à m'arracher les cheveux sur un problème de variable, je me tourne vers vous (avant de ne plus en avoir)
Sur ma macro Sub a_Inventaire_H_input()
Dans le module N° 1 :
J'ai une formule qui fonctionne :
If ncond = 1 Then: If Cells(i, cond1) <> Cells(i - 1, cond1) Then GoTo 4 'Si la cellule X1 est différente de X1 -1 …
If ncond = 1 Then: Set q = Cells(i, cond1): Set v = Cells(i - 1, cond1): If (q) <> (v) Then GoTo 4 '(Fonctionne aussi)
If ncond = 2 Then: Set q = Cells(i, cond1): Set v = Cells(i - 1, cond1): Set r = Cells(i, cond2): Set w = Cells(i - 1, cond2): If (q) <> (v) Or (r) <> (w) Then GoTo 4 '(Marche très bien également)
Je désire pouvoir choisir l'opérateur de comparaison et donc, l'utiliser sous forme d'une variable, pour pouvoir choisir l'opérateur désiré (<> ou = ou < ou >)
J'ai donc essayé comme ceci
If ncond = 1 Then: Set q = Cells(i, cond1): Set v = Cells(i - 1, cond1): If (q) (oper) (v) Then GoTo 4
Conclusion : ça ne fonctionne pas
puis
If ncond = 1 Then: Set q = Cells(i, cond1): Set v = Cells(i - 1, cond1): If ((q) (oper) (v)) Then GoTo 4
'If ncond = 1 Then: Set q = Cells(i, cond1): Set v = Cells(i - 1, cond1): If (q) & (oper) & (v) Then GoTo 4
If ncond = 1 Then: Set q = Cells(i, cond1): Set v = Cells(i - 1, cond1): If (q) (oper) (v) Then GoTo 4
Puis de bien d'autres façons, en ajoutant ou retirant des & ou des ( ) ou des [ ] ou des virgules : Nada
La macro plante, mais lorsque je mets le pointeur de souris sur chaque variable : la variable est OK : j'ai bien le contenu de ma première cellule, l'opérateur désiré et le contenu de ma 2 ème cellule.
Je tourne en rond et ne comprend pas pourquoi ça ne fonctionne pas.
Y a-t-il une astuce que je ne connais pas ?
(J'ai mis des valeurs par défaut aux input-box, pour gagner du temps)
PS Je ne pourrais pas répondre avant le 2 ou 3 janvier
Merci à ceux qui ce pencherons sur mon problème (c'est certainement tout con, mais je débute…)
Bon réveillon !
Pièces jointes
Dernière édition: