XL 2016 formule SI à plusieurs conditions

vanin

XLDnaute Occasionnel
Bonjour, la fonction suivante =SI(P4<AUJOURDHUI();"échouée";"Echoue dans "&P4-AUJOURDHUI()&" jours") permet d'afficher l'alerte pour les dates d'échéances.
"échouée" pour les dates passées et "échoues dans" pour les dates en cours et ça fonctionne bien.
la colonne P contient les dates d'échéance et la colonne N a pour valeur soit OUI soit NON.
est ce qu'il est possible d'ajouter une troisième condition "Reglée" à la formule lorsque la colonne N contient OUI?

du genre: =SI(N4= OUI;"Reglée"; P4<AUJOURDHUI();"échouée";"Echoue dans "&P4-AUJOURDHUI()&" jours")

le but c'est de montrer que la facture a été réglée avant la date d'échéance. lorsque la colonne N10 affiche OUI c'est que la facture est réglé et si elle est réglée avant la date d'échéance la colonne Q10 ne devrait plus afficher échoue dans 31 jours. merci de m'aider
 

vanin

XLDnaute Occasionnel
Bonjour, merci à tous pour votre aide. est ce qu'il est possible d'appliquer cette formule à toutes les lignes de la colonne Q à chaque fois que je clique sur un bouton valider.
Etirer la formule située a la colonne Q2 par rapport aux cellules de la colonne P commencant a P2 si elles contiennent du texte.
 
Dernière édition:

vanin

XLDnaute Occasionnel
Tu veux appliquer une formule suite à l'appui sur un bouton ???
en faite je veux étendre automatiquement la formule à la colonne Q entière via vba si cela est possible.
j'ai essayé ce code

Sub appliquer_formule()
Dim DL As Integer 'déclare al variable DL (Dernière Ligne)

DL = Cells(Application.Rows.Count, "O").End(xlUp).Row 'définit la derniere ligne DL de la colonne E (colonne à adapter à ton cas)
Range("O4").FormulaR1C1 = "=SI(N4="OUI";"reglée";SI(P4<AUJOURDHUI();"échouée";"Echoue dans "&P4-AUJOURDHUI()&" jours"))"
Range("O4").AutoFill Destination:=Range("O4:O" & DL), Type:=xlFillDefault
End Sub
 

vanin

XLDnaute Occasionnel
ca affiche erreur de syntaxe
avec la formule "=[Total T.T.C]-[AVANCE]" ca marche bien

Sub appliquer_formule()
Dim DL As Integer 'déclare al variable DL (Dernière Ligne)

DL = Cells(Application.Rows.Count, "Q").End(xlUp).Row 'définit la derniere ligne DL de la colonne E (colonne à adapter à ton cas)
Range("Q4").FormulaR1C1 = "=[Total T.T.C]-[AVANCE]"
Range("Q4").AutoFill Destination:=Range("Q4:Q" & DL), Type:=xlFillDefault
End Sub


mais avec la formule "=SI(N4="OUI";"reglée";SI(P4<AUJOURDHUI();"échouée";"Echoue dans "&P4-AUJOURDHUI()&" jours"))" ca ne fonctionne pas
 

Pièces jointes

  • BUG3.jpg
    BUG3.jpg
    92.2 KB · Affichages: 10

vanin

XLDnaute Occasionnel
OK merci pour vos solution la macro marche bien. au début j'ai parlé d'un bouton valider.

voici le code de la macro qui fonctionne bien
Sub executer_macro_alerteecheance()
Dim DL As Integer 'déclare al variable DL (Dernière Ligne)

DL = Cells(Application.Rows.Count, "Q").End(xlUp).Row 'définit la derniere ligne DL de la colonne E (colonne à adapter à ton cas)
Range("Q4").FormulaLocal = "=SI(N4=""OUI"";""Reglée"";SI(P4<AUJOURDHUI();""échouée"";""Echoue dans "" & P4 - AUJOURDHUI() & "" jours""))"
Range("Q4").AutoFill Destination:=Range("Q4:Q" & DL), Type:=xlFillDefault
End Sub


sur un userform, j'ai un bouton CommandButton1, ce que je veux, c'est de pouvoir exécuter cette macro lorsque je clique sur ce bouton. comment appeler cette macro dans le bouton

Private Sub CommandButton1_Click()




End Sub
 

Discussions similaires

Réponses
8
Affichages
279

Statistiques des forums

Discussions
312 206
Messages
2 086 220
Membres
103 158
dernier inscrit
laufin