Condition sur une colonne
Résolu/Fermé
Jono92600
Messages postés
76
Date d'inscription
jeudi 26 janvier 2017
Statut
Membre
Dernière intervention
24 mai 2017
-
Modifié par pijaku le 2/02/2017 à 10:35
Jono92600 Messages postés 76 Date d'inscription jeudi 26 janvier 2017 Statut Membre Dernière intervention 24 mai 2017 - 3 févr. 2017 à 22:21
Jono92600 Messages postés 76 Date d'inscription jeudi 26 janvier 2017 Statut Membre Dernière intervention 24 mai 2017 - 3 févr. 2017 à 22:21
A voir également:
- Condition sur une colonne
- Déplacer une colonne excel - Guide
- Excel cellule couleur si condition texte - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
2 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
2 févr. 2017 à 10:41
2 févr. 2017 à 10:41
1- ou en es tu de ton autre sujet TextBox Date?
2- tes conditions ne conviennent pas.
Il te faut travailler avec des intervalles de date.
2- tes conditions ne conviennent pas.
Il te faut travailler avec des intervalles de date.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
3 févr. 2017 à 07:41
3 févr. 2017 à 07:41
Bonjour,
Il faut travailler avec des intervalles !
A qu'elle condition appartient la date du 01/01/2017? Elle répond à tes deux conditions :
Si Date de la colonne K < Aujourd'hui [de - de 7 Jours] alors
Colonne W = "A FAIRE"
Si Date de la colonne K <= Aujourd'hui alors
Colonne W = "EN RETARD"
Par conséquent la première valable est celle choisie par le programme.
Il ne faut pas laisser d’ambiguïté!
X < Date - 7 <= Y <= Date + 7 < Z
Te fera 3 groupes bien distincts.
Regarde ce code :
A toi à bien choisir tes conditions...
Il faut travailler avec des intervalles !
A qu'elle condition appartient la date du 01/01/2017? Elle répond à tes deux conditions :
Si Date de la colonne K < Aujourd'hui [de - de 7 Jours] alors
Colonne W = "A FAIRE"
Si Date de la colonne K <= Aujourd'hui alors
Colonne W = "EN RETARD"
Par conséquent la première valable est celle choisie par le programme.
Il ne faut pas laisser d’ambiguïté!
X < Date - 7 <= Y <= Date + 7 < Z
Te fera 3 groupes bien distincts.
Regarde ce code :
Dim maDate As Date maDate = CDate(Range("E" & i)) Select Case maDate Case Is < Date - 7 MsgBox "cas 1" Case Is <= Date - 7, Is <= Date + 7 MsgBox "cas 2" Case Is > Date + 7 MsgBox "cas 3" End Select
A toi à bien choisir tes conditions...
Jono92600
Messages postés
76
Date d'inscription
jeudi 26 janvier 2017
Statut
Membre
Dernière intervention
24 mai 2017
3 févr. 2017 à 10:12
3 févr. 2017 à 10:12
Merci, je vais essayer votre code.
Jono92600
Messages postés
76
Date d'inscription
jeudi 26 janvier 2017
Statut
Membre
Dernière intervention
24 mai 2017
3 févr. 2017 à 11:06
3 févr. 2017 à 11:06
' Après adaptation de votre code j'obtiens ceci.
Sub Essais()
Dim PremLig As Long
Dim DL As Long
Dim i As Long
Dim maDate As Date
'dernière ligne colonne A
DL = Range("A" & Rows.Count).End(xlUp).Row
'première ligne à traiter :
PremLig = 2
'Boucle :
For i = PremLig To DL
maDate = CDate(Range("E" & i))
Select Case maDate
'Si la date prévue est supérieur à la date d'aujourd'hui de + de 7 jours
Case Is => Date + 7
Range("G" & i) = "Dans les temps"
'Si la date prévue est supérieur à la date d'aujourd'hui de - de 7 jours
Case Is => Date - 7
Range("G" & i) = "Échéance imminente"
'Si la date prévue est inférieure ou égale à la date d'aujourd'hui
Case Is <= Date
Range("G" & i) = "EN RETARD"
End Select
Next
End Sub
'Je n'obtiens pas exactement la même chose au niveau de mon tableau.
Sub Essais()
Dim PremLig As Long
Dim DL As Long
Dim i As Long
Dim maDate As Date
'dernière ligne colonne A
DL = Range("A" & Rows.Count).End(xlUp).Row
'première ligne à traiter :
PremLig = 2
'Boucle :
For i = PremLig To DL
maDate = CDate(Range("E" & i))
Select Case maDate
'Si la date prévue est supérieur à la date d'aujourd'hui de + de 7 jours
Case Is => Date + 7
Range("G" & i) = "Dans les temps"
'Si la date prévue est supérieur à la date d'aujourd'hui de - de 7 jours
Case Is => Date - 7
Range("G" & i) = "Échéance imminente"
'Si la date prévue est inférieure ou égale à la date d'aujourd'hui
Case Is <= Date
Range("G" & i) = "EN RETARD"
End Select
Next
End Sub
'Je n'obtiens pas exactement la même chose au niveau de mon tableau.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
>
Jono92600
Messages postés
76
Date d'inscription
jeudi 26 janvier 2017
Statut
Membre
Dernière intervention
24 mai 2017
3 févr. 2017 à 12:03
3 févr. 2017 à 12:03
A toi à bien choisir tes conditions...
Si la date prévue est supérieur à la date d'aujourd'hui de - de 7 jours
entre en conflit avec :
Si la date prévue est inférieure ou égale à la date d'aujourd'hui
Si la date prévue est supérieur à la date d'aujourd'hui de - de 7 jours
entre en conflit avec :
Si la date prévue est inférieure ou égale à la date d'aujourd'hui
Jono92600
Messages postés
76
Date d'inscription
jeudi 26 janvier 2017
Statut
Membre
Dernière intervention
24 mai 2017
Modifié par Jono92600 le 3/02/2017 à 22:24
Modifié par Jono92600 le 3/02/2017 à 22:24
Bonjour,
Suite a plusieurs essais je suis encore bloqué sur les conditions.
Je mets mon fichier tout en continuant à bosser dessus.
https://www.cjoint.com/c/GBdvypRDOsY
Merci.
Suite a plusieurs essais je suis encore bloqué sur les conditions.
Je mets mon fichier tout en continuant à bosser dessus.
https://www.cjoint.com/c/GBdvypRDOsY
Merci.
2 févr. 2017 à 11:27
Merci
Modifié par Jono92600 le 2/02/2017 à 15:03
Si Date de la colonne E > Aujourd'hui [de + de 7 Jours] alors
Colonne W = "Dans les temps"
Si Date de la colonne E < Aujourd'hui [de - de 7 Jours] alors
Colonne W = "A FAIRE"
Si Date de la colonne E <= Aujourd'hui alors
Colonne W = "EN RETARD"
Si la colonne F contient une date alors
Colonne W = "FAIT"
'On continu les condition avec les colonnes (H et I)
Si Date de la colonne H > Aujourd'hui [de + de 7 Jours] alors
Colonne W = "Dans les temps"
Si Date de la colonne H < Aujourd'hui [de - de 7 Jours] alors
Colonne W = "A FAIRE"
Si Date de la colonne H <= Aujourd'hui alors
Colonne W = "EN RETARD"
Si la colonne I contient une date alors
Colonne W = "FAIT"
'On continu les condition avec les colonnes (K et L)
Si Date de la colonne K > Aujourd'hui [de + de 7 Jours] alors
Colonne W = "Dans les temps"
Si Date de la colonne K < Aujourd'hui [de - de 7 Jours] alors
Colonne W = "A FAIRE"
Si Date de la colonne K <= Aujourd'hui alors
Colonne W = "EN RETARD"
Si la colonne L contient une date alors
Colonne W = "FAIT"
Je voulais partager mon fichier a nouveau mais le site est bloqué.
Il me manque que plus que deux codes pour le finaliser.
Par avance merci.