Comparaison dans un tableau
Bonjour à tous et merci d'avance.
Je galère avec une petite subtilité.
Je dois comparé deux valeurs dans un tableau afin de savoir si elle sont inclues entre deux valeur et ensuite mémoriser la valeur associé.
Voici la méthodo :
1 - Je compare X entre les deux valeur S1 (ici 1 et 2) et ensuite S2, S3 jusqu'à trouver dans quelle plage je me trouve
2 - Je compare Y entre les deux valeur TH1 (ici 31 et 32) et ensuite TH2, TH3 jusqu'à trouver dans quelle plage je me trouve
Pour information, je fais varier ligne_period et column_time car après je souhaite la valeur conrespondante dans le tableau Cells(ligne_period, colum_time)
Le problème est le suivant, je dois réunir 3 conditions :
- S et TH trouvé et cellule du tableau non vide car X peut par exemple très bien être inclut dans S2 et S8 par exemple. mais avec une valeur de tableau (vide) à S2 et rempli à S8.
Je souhaite donc pourvoir, une fois avoir trouvé la première plage S et TH qui va continuer dans les valeur TH si la valeur et nul et remonter à la première loop si besoin.
J'espère avoir été clair. Je ne maîtrise ni la comparaison à trois critère ni la remontée à la première loop sans recommencer au début.
Romain
ligne_period = 3
column_time = 3
Do
ligne_period = ligne_period + 1
Loop While Cells(ligne_period, 2).Value <= X <= Cells(ligne_period, 3).Value
Do
column_time = column_time + 1
Loop Cells(23, column_time).Value <= code_hhmm <= Cells(24, column_time).Value And Cells(ligne_period, 3).Value <= code_jjmm <= Cells(ligne_period, 4).Value And Cells(ligne_period, column_time).Value <> ""
price = Cells(ligne_period, colum_time)Bonjour
Tu devrais joindre un fichier et montre par un exemple le résultat attendu.
Bye !
Bonjour,
Merci et en effet, j'ai essayé de le faire, mais apparemment en vain
Ci-joint
Romain
Bonjour,
J'ai bien avancé à mon sujet. Il ne me reste q'un seul problème qui est le suivant :
J'ai une condition qui dit que le loop tant que le nombre X n'est pas inclu entre deux valeur d'un tableau. Hors il me dit que c'est toujours vrai même quand ca ne l'est pas et reste sur la première ligne de ma boucle.
[code]
ligne_period = 39
column_time = 5
Do Until Cells(ligne_period, 3).Value <= code_jjmm And code_jjmm <= Cells(ligne_period, 4).Value
ligne_period = ligne_period + 1
Loop
Do Until Cells(37, column_time) <= code_hhmm <= Cells(38, column_time) And Cells(ligne_period, column_time).Value > 0
column_time = column_time + 1
LoopSi vous trouvez quelque chose qui ne va pas dans ce code je suis preneur.
Mercii
Romain