If/and en vba

Fermé
niouniou - 9 mars 2023 à 11:54
 niouniou - 13 mars 2023 à 16:28

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?

2 réponses

yg_be Messages postés 22756 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 mai 2024 1 480
9 mars 2023 à 17:20

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))))"
0
Whismeril Messages postés 19034 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 2 mai 2024 931
10 mars 2023 à 08:13

Bonjour 

d'un autre côté, pourquoi ne pas faire le "calcul" en VBA, plutôt que demander à VBA de placer une formule ?

0
yg_be Messages postés 22756 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 mai 2024 1 480 > Whismeril Messages postés 19034 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 2 mai 2024
10 mars 2023 à 08:50

L'avantage éventuel d'une formule, c'est qu'elle sera automatiquement évaluée quand c'est nécessaire.

0
Whismeril Messages postés 19034 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 2 mai 2024 931 > yg_be Messages postés 22756 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 mai 2024
10 mars 2023 à 08:57

Oui, mais on peux coder une fonction qui fait le job et que l'on utilise en formule dans la feuille.

0
yg_be Messages postés 22756 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 mai 2024 1 480 > Whismeril Messages postés 19034 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 2 mai 2024
10 mars 2023 à 13:28

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.

0

Bjr,   Si ça peut aider qlq'un, j'ai trouvé le problème, il ne fallait pas mettre de guillemet autour de 2022 et 2023.

Le fait que IF et AND ne se mettent pas en majuscule n'a pas d'importance mais je ne savais pas.

0