Execution de formule Via une Macro

Bonjour,

J'ai un fichier Excel ou je doit faire des contrôles et afficher le résultat de ce contrôle dans les colonnes AF et AG en utilisant les formules ci-dessous :

Colonne AF : SI(OU(N3="",(N3-M3)=1)," ",SI(SERIE.JOUR.OUVRE(M3,1,'regle de gestion'!$B$4:$B$15)=N3," ","Erreur DR :A vérifier"))

Colonne AG : SI(S3="","Attention pas de DJT",SI((SERIE.JOUR.OUVRE(L3,-1,'regle de gestion'!$B$4:$B$15)=S3)," ","DJT erroné à vérifier"))

NB :La feuille regle de gestion contient la liste des jours fériés dont j'en ai besoin pour ma formule.

Est ce que quelqu'un peut m'aider à mettre ces formules dans une Macro pour les exécuter plus rapidement et sans faire du copier/coller à chaque fois ?

Veuillez trouver ci-joint un exemple de mon fichier (il faut respecter le format mais il peut contenir beaucoup plus de lignes)

Merci d'avance

Bonsoir,

Essaye le code suivant :

Sub test()
    For i = 3 To Sheets("Feuil1").Range("J" & Application.Rows.Count).End(xlUp).Row
        Sheets("Feuil1").Range("AF" & i).FormulaR1C1 = "=IF(OR(RC[-18] = """",(RC[-18] - RC[-19] ) = 1)," _
        & """"",IF(WORKDAY(RC[-19] ,1,'regle de gestion'!R4C2:R15C2) = RC[-18] ,"""",""Erreur DR :A vérifier""))"
        Sheets("Feuil1").Range("AG" & i).FormulaR1C1 = "=IF(RC[-14]="""",""Attention pas de DJT""," _
        & "IF((WORKDAY(RC[-21],-1,'regle de gestion'!R4C2:R15C2) = RC[-14]),"""",""DJT erroné à vérifier""))"
    Next i
End Sub

Remarque : la macro compte le nombre de lignes remplies dans le tableau à partir de la colonne J en supposant que le matricule est un élément obligatoire dans une ligne

Bonsoir Raja,

Merci pour votre effort, je viens de tester et ça l'aire bien

par contre, est ce que je peux avoir la valeur dans les cellules au lieu de la formule (Opération copier - collage spécial valeur) ?

merci d'avance

Bonjour,

Merci de désormais préciser tes attentes dès le début pour ne pas perdre du temps dans la recherche des solutions ou alors c'est moi qui n'a pas compris ta demande. Enfin bref, essaye comme ça alors :

Sub test1()
    For i = 3 To Sheets("Feuil1").Range("J" & Application.Rows.Count).End(xlUp).Row
        Sheets("Feuil1").Range("AF" & i) = Evaluate("=IF(OR(N" & i & " = """",(N" & i & " - M" & i & " ) = 1)," _
        & """"",IF(WORKDAY(M" & i & " ,1,'regle de gestion'!B4:B15) = N" & i & " ,"""",""Erreur DR :A vérifier""))")
        Sheets("Feuil1").Range("AG" & i) = Evaluate("=IF(S" & i & "="""",""Attention pas de DJT""," _
        & "IF((WORKDAY(L" & i & ",-1,'regle de gestion'!B4:B15) = S" & i & "),"""",""DJT erroné à vérifier""))")
    Next i
End Sub

Bonjour,

Désolé pour ce désagrément, c'est moi qui n'a pas bien clarifié/précisé son besoin

Je viens de tester et ça l'aire de bien fonctionner

Merci beaucoup

A+

Rechercher des sujets similaires à "execution formule via macro"