Créer un boucle

Bonjour,

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"

Merci

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour

    Pourquoi une macro, une formule en colonne I suffit
    =SI(ET(K1>=0;K1<=1000;ANNEE(F1)=2018);"Problème";"")

    Sinon boucle selon ce modèle pou boucler des lignes 1 à 500 à adapter :
    For i =1 to 500
    IF range("K" & i)>=0 and range("K" & i)<=1000 and year ("F" & i)=2018 then range("I" &i)="Problème"
    Next 

    Cdlmnt
    Via
    1. Contributeur
      Bonjour, tim, Via55

      si tu veux que ton code soit valable les années suivantes

      (Year(Range("F" & i)) = Year(Date) - 1)

      et en début de macro
      Application.screenupdating=false

      pour le confort visuel et la rapidité

      signature> Michel</signature>
      1. Bonjour à tous

        Oui le Range a sauté à l'écriture, arf
        Michel tu as raison de compléter ma macro que j'avais indiqué rapidement car comme je le disais des formules suffisent
        D'ailleurs d'après ta pertinente remarque il faudrait modifier me formule en remplaçant ANNEE(1)=2018 par ANNEE(F1)=ANNEE(AUJOURDHUI()-)-1 pour une validité perpétuelle

        Mais le demandeur n'a pas donné signe de vie encore, on ne sait pas pourquoi il veut une macro
        1. Contributeur
          Re, tout à fait d'accord; d'ailleurs je t'avais mis un +

          comme le dit un vieux proverbe excellien:
          "Avant de penser VBA, penser Excel"

          mais il faudrait voir l' ensemble du code pour dire si VBA est justifié

          notre ami est peut-^tre parti défiler!

          bonne journée