Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème Macro Dates

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
 

Paf

XLDnaute Barbatruc
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+
 

Paf

XLDnaute Barbatruc
c'est une plaisanterie ?

Cells(Rows.Count, "B").End(xlUp).Row ? définit le N° de la dernière ligne de la colonne B on ne peut donc pas avoir 0 surtout sous cette forme là!
 

Efgé

XLDnaute Barbatruc
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

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
 

AJIGO

XLDnaute Nouveau
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"
 

Discussions similaires

Réponses
6
Affichages
248
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…