Excel VBA

Résolu
maloplekxus -  
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je cherche à écrire une macro pour que dans une cellule donnée, elle me rentre la formule suivante :
=SI(A1=1;"";2)
Lorsque j'essaye en VBA cela donne ça :
Activecell.value="=SI(A1=1;"";2)"
Cela ne fonctionne pas.

Avez vous une solution à me proposer

Cordialement

5 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour

esasaie ceci
f = "=SI(A1=1;"""";2)"
ActiveCell.FormulaLocal = f


bonne suite
1
maloplekxus
 
J'ai tester, ça fonctionne. En revanche je n'arrive pas à le mettre en application pour une formule plus complexe telle que celle ci :

f= "=SI('[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & "="""";"""";'[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & ")"
ActiveCell.Value =f

adresse_cellule est une variable dans laquelle j'ai collecter l'adresse d'une cellule. Je pense que le problème viens de la partie en gras et souligné, mais je n'y trouve pas de solution

Merci d'avance pour votre aide
0
maloplekxus
 
C'est bon en remplaçant ActiveCell.value par ActiveCell.FormulaLocal comme dans la réponse de ccm81, cela fonctionne !!!

Encore merci ccm81

Bonne fin de journée
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
peut être comme ceci

f = "=SI('[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & "=" & """" & ";" & """" & ";" & "'[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & ")"
ActiveCell.FormulaLocal = f

RQ. mettre la formule dans f permet de voir ce qui se passe à l'exécution en faisant un suivi des variables

bonne suite
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
je crois qu'il y a erreur, essaies ceci

vide = Chr(34) & Chr(34)
f = "=SI('[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & "=" & vide & ";" & vide & ";'[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & ")"
ou ceci
f = "=SI('[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & "=" & """""" & ";" & """""" & ";'[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & ")"

ActiveCell.FormulaLocal = f
0