If/and en vba
niouniou -
Bonjour,
Je voudrais tester des conditions avec des IF et AND imbriqués. Je l'ai fait directement dans le feuille avec la formule suivante et ça fonctionne très bien.
=SI(ET(O1="FRLHVF";J1="2022");10;SI(ET(O1="FRLHVF";J1="2023");15;SI(ET(O1="FRDKUN";J1="2022");50;SI(ET(O1="FRDKUN";J1="2023");20;0))))
Maintenant je veux la transformer en VBA suivant les cellules de ma feuille puisque le nombre de lignes est variable pour chaque cas mais ça ne fonctionne pas.
Les IF et AND ne sont apparemment pas reconnus.
Voici la formule que j'ai tenté tout est sur une seule ligne:
ActiveCell.FormulaR1C1 = "=if(and(RC[-1]=""FRDKUN"",RC[-6]=""2022""),10,if(and((RC[-1]=""FRDKUN"",RC[-6]=""2023""),15,if(and(RC[-1]=""FRLHVF"",RC[-6]=""2022""),10,if(and((RC[-1]=""FRLHVF"",RC[-6]=""2023""),20,0))))"
et là j'ai besoin d'un peu d'aide svp?
- If/and en vba
- Spybot search and destroy - Télécharger - Antivirus & Antimalwares
- Find and mount - Télécharger - Récupération de données
- Disk boot failure insert system disk and press enter - Guide
- Nif pull and bear - Forum Consommation & Internet
- Vba attendre 1 seconde ✓ - Forum VB / VBA
2 réponses
bonjour,
peut-être ainsi:
ActiveCell.FormulaLocal = "=SI(ET(O1=""FRLHVF"";J1=""2022"");10;SI(ET(O1=""FRLHVF"";J1=""2023"");15;SI(ET(O1=""FRDKUN"";J1=""2022"");50;SI(ET(O1=""FRDKUN"";J1=""2023"");20;0))))"
Bonjour
d'un autre côté, pourquoi ne pas faire le "calcul" en VBA, plutôt que demander à VBA de placer une formule ?
L'avantage éventuel d'une formule, c'est qu'elle sera automatiquement évaluée quand c'est nécessaire.
Oui, mais on peux coder une fonction qui fait le job et que l'on utilise en formule dans la feuille.
Dans ce cas-ci, je pense que le but, c'est de faire varier les paramètres d'entrée, je ne vois pas comment réaliser cela via une fonction appelée dans une formule.