Conversion formule en VBA..

Résolu
julia Namor Messages postés 532 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour chers tous
une fois de plus je reviens solliciter votre aide.
Je souhaiterai convertir cette formule en VBA pour l'appliquer sur toute une colonne.
=SI($A3>DATE(C$1;12;31);"absent";SI($B3="";"present";SI(C$1<=ANNEE($B3);"present";"absent"))

Merci de votre aide
je vous lie le fichier
http://www.cjoint.com/c/GIfiBBTQxqN
Cordialement

4 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    http://www.cjoint.com/c/GIfnGHaCrDB

    Cdlmnt
    0
  2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Bonjour,

    Pour recopier la formule depuis C2 vers C1000 :
    With Worksheets("Feuil1")
      .Range("C2").AutoFill Destination:=.Range("C2:C1000")
    End With 

    Ou pour l'écrire directement :
    Worksheets("Feuil1").Range("C2:C1000").FormulaR1C1 = _
      "=IF(RC1>DATE(R1C,12,31),""absent"",IF(RC2="""",""present""," & _
      "IF(R1C<=YEAR(RC2),""present"",""absent"")))"

    0
  3. julia Namor Messages postés 532 Statut Membre 33
     
    Bonjour

    C'est tout ce qu'il me fallait Ça frôle la perfection mon cher ccm81.
    Reste plus qu'a l'adapter a mon travail.
    Merci Patrice , mais mon souhait n'était pas de "coller" les formules par VBA.

    Bien merci à vous deux .

    Bien cordialement
    0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    De rien

    Si tu as beaucoup de lignes, tu peux ajouter un
    Application.ScreenUpdating = False
    en début de code (après les déclarations de variables)

    Si c'est fini, peux tu mettre le sujet à résolu (en dessous du titre de ton premier message)

    Cdlmnt
    0