Problème Macro Dates

  • Initiateur de la discussion Initiateur de la discussion AJIGO
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

AJIGO

XLDnaute Nouveau
Bonjour,

Je ne comprends pas pourquoi mon boucle ne se lance pas.

For i = 156 To Cells(Rows.Count, "B").End(xlUp).Row
If ((Cells(i, "K").Value > 0) And (Cells(i, "K").Value < 1000)) And _
Format(Cells(i, "F").Value, "yyyy") < (Year(Now) - 1) Then
Cells(i, "I").Value = "PROBLEME"
ElseIf (Cells(i, "K").Value > 0 And Cells(i, "K").Value < 200) And _
Format(Cells(i, "F").Value, "yyyy") = (Year(Now) - 1) Then
Cells(i, "I").Value = "ATTENTE " & Year(Now) - 1
End If
Next i
 
Bonjour,

Une des explications possibles:
dans la déclaration de la boucle, si la première borne est supérieure à la seconde (sans utilisation d'un step négatif) VBA ne provoque pas d'erreur mais n'exécute pas la boucle.
Quelle valeur contient Cells(Rows.Count, "B").End(xlUp).Row ?

A+
 
Bonjour AJIGO, Salut Paf 🙂

AJIGO, je pense que Paf demande quelle est la ligne trouvée par
Cells(Rows.Count, "B").End(xlUp).Row ?

Pour moi, il y a plusieurs problèmes, même si celui soulevé par Paf peut en faire partie.

Déjà
Format(Cells(i, "F").Value, "yyyy")
Format renvoie un texte qui ne peux être comparé avec un nombre (un texte = 0).

Ensuite
If ((Cells(i, "K").Value > 0) And (Cells(i, "K").Value < 1000)) And _
Format(Cells(i, "F").Value, "yyyy") < (Year(Now) - 1) Then
Cells(i, "I").Value = "PROBLEME"
ElseIf (Cells(i, "K").Value > 0 And Cells(i, "K").Value < 200) And _
Format(Cells(i, "F").Value, "yyyy") = (Year(Now) - 1) Then

Si ton chiffre en colonne K est de 100, ton test sera vrai dès le If ((Cells(i, "K").Value > 0) And (Cells(i, "K").Value < 1000)) et le code ne passe pas par ElseIf (Cells(i, "K").Value > 0 And Cells(i, "K").Value < 200)...

Cordialement
 
La dernière ligne est de 489. Dans la colonne "F" il y a des dates au format jj/mm/aaaa.
Il me faut un boucle qui permet :
Si Cells(i,"K") compris entre 0 et 1000, et Année de F< L'année dernière alors
Cells(i, "I")="Problème"
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
811
Réponses
15
Affichages
551
Réponses
4
Affichages
675
Réponses
2
Affichages
488
Réponses
4
Affichages
240
Réponses
8
Affichages
727
Réponses
8
Affichages
342
Réponses
5
Affichages
534
Retour