Problème de structure avec des opérateurs logiques
Bonjour à tous
Je vous sollicite aujourd'hui car je n'arrive pas à trouver la bonne combinaison d'opérateur logique pour compter des éléments en tenant compte de nombreux critères.
J'explique !
Je veux compter le nombre d'éléments compris ds un intervalle de temps donné.
J'ai dû préalablement faire une différence entre deux dates.Cette différence est en années, en mois et en jours.
N.B: pour chaque unité de temps il y a une colonne de référence. Il y a donc une colonne pour les années, une colonne pour les mois et une colonne pour les jours.
Les critères sont les suivants:
- x<= 1 mois;
- 1<x<=6 mois;
- 6<x<=12 mois;
- x>12 mois.
Prenons le cas 1<x<=6.
Soit schéma des éléments respectant ce critère.
années;mois;jours
0an/ 1mois/ >=30jours/ ici 1mois et des jours variables jusqu'à 30jours
.
0an/ 2mois/ >=30jours/ ici 2mois et des jours variables jusqu'à 30jours
.
.jusqu'à 5mois
.
.
0an/ 6mois/ =0jours on veut exactement 6mois pile!
Ainsi c'est une véritable logique à adopter!
Mon code est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Dim B1 As Range, btr1 As Long
Set DateRange = Range([A1], Cells(Rows.Count, 1).End(xlUp))
For Each B1 In DateRange
If B.Value Like "TH*" Then
If (B1.Offset(, 42).Value = 0) And (B1.Offset(, 43).Value >= 1) And B1.Offset(, 44).Value <= 30 Xor _
(B1.Offset(, 44).Value <= 6) And B1.Offset(, 44).Value <= 0 Then
btr1 = btr1 + 1
End If
End If
Next B1 |
J'ai essayé les opérateurs logiques Or ou Xor; mais je pense que c'est mon code qui n'est pas assez structurer pour répondre totalement au critère correspondant.
En fait le code précédent ne prend pas en compte tout les résultats possibles, j'ai l'impression...
Pouvez-vous m'aider à résoudre ce problème?
Je vous remercie d'avance pour vos réponses :oops::oops:.
Cordialement
Tiviia
informations complémentaires
Re bonjour à vous!
Je tiens à préciser que les différentes caractéristiques répondant à un critère sont répartis dans des colonnes différentes.
Par exemple il faut que ds la colonne A: le contenu commence par "TH", dans la colonne S: le contenu est "BRIVE"..etc
Ainsi je tiens compte de plusieurs cellules de la lignes analysée.
Cordialement
Tiviia