Menu

Fonction SI dans une macro [Résolu]

Messages postés
3
Date d'inscription
dimanche 25 novembre 2018
Dernière intervention
25 novembre 2018
- - Dernière réponse : Patrice33740
Messages postés
7687
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
23 mars 2019
- 25 nov. 2018 à 22:58
Bonjour à tous

étant complètement novice dans les macros j'aimerais insérer cette formule dans une macro : =SI(B19="";"";1)

J'ai donc écrit ma macro de cette manière : Range(D19).Formula = "=SI(B19="";"";1)"
Mais ceci ne fonctionne pas...

Pouvez vous m'aider?

Merci!!
Afficher la suite 

Votre réponse

2 réponses

Messages postés
7687
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
23 mars 2019
1667
0
Merci
Bonjour,

Voici un excellent cours gratuit pour débutant :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf
Commenter la réponse de Patrice33740
Messages postés
16862
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 février 2019
5067
0
Merci
Bonsoir,

En VBA la formule est écrite différemment

Range(D19).FormulaR1C1 ="=IF(RC[-2]="""","""",1)"
ou
[D19].FormulaR1C1 = "=IF(RC[-2]="""","""",1)"
ce qui veut dire R (Row ou ligne en Français) 0 ou même ligne et C (Column ou en Français Colonne)-2

tu pourrais également pour comprendre écrire
[D19].FormulaR1C1 = "=IF(R[0]C[-2]="""","""",1)"
ou encore
Range(D19).FormulaR1C1 = "=IF(R[0]C[-2]="""","""",1)"
A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...
minijsp
Messages postés
3
Date d'inscription
dimanche 25 novembre 2018
Dernière intervention
25 novembre 2018
-
Merci beaucoup!!! ceci fonctionne parfaitement, j'avais en effet essayé avec le IF mais sans chager la suite et ça ne fonctionnais donc pas non plus...
Si j'ai donc bien compris pour exemple dans ma formule je ne veux pas B19 mais A20 ceci donnerais [D19].FormulaR1C1="=IF[R1]C[-3]="","",1)"
C'est ca?
Mike-31
Messages postés
16862
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 février 2019
5067 -
Re

Oui c'est exactement cela malgrè une petite erreur, il ne faut pas mettre entre crocher [R1] mais simplement R[1]
[D19].FormulaR1C1 = "=IF(R[1]C[-3]="""","""",1)"
minijsp
Messages postés
3
Date d'inscription
dimanche 25 novembre 2018
Dernière intervention
25 novembre 2018
-
Re

En effet c'est une erreur de ma part mais je l'avais bien compris ainsi
merci beaucoup!!
Patrice33740
Messages postés
7687
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
23 mars 2019
1667 > minijsp
Messages postés
3
Date d'inscription
dimanche 25 novembre 2018
Dernière intervention
25 novembre 2018
-
Il y a aussi :
Range(D19).FormulaLocal = "=SI(B19="";"";1)"

Ne pas oublier la touche magique : F1
Commenter la réponse de Mike-31