Signaler

Conversion formule en VBA.. [Résolu]

Posez votre question julia Namor 341Messages postés jeudi 27 mars 2014Date d'inscription 5 septembre 2017 Dernière intervention - Dernière réponse le 5 sept. 2017 à 15:55 par ccm81
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




Utile
+0
plus moins
Bonjour

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

Cdlmnt
Donnez votre avis
Utile
+0
plus moins
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"")))"

Donnez votre avis
Utile
+0
plus moins
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
Donnez votre avis
Utile
+0
plus moins
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
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !