Créer un boucle

Tim -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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>
    0
  3. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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
      0