Vba ActiveCell.Formula

Résolu
Bonjour,

Je n'arrive pas pas à écrire une macro correctement (excel 2003)

au départ j'avais la formule ci-dessus qui fonctionnait bien ...

ActiveCell.Formula = "=concat(A1:AZ10)"
(la formule concat est une formule sur-mesure)

Je cherche à mettre cette formule dans un si,ce qui donne:
=si(gauche(concat(A1:AZ10);6)="<br />";"";concat(A1:AZ10))

je crois qu'il faut doubler les double quotes, j'ai donc essayé:
ActiveCell.Formula = "=si(gauche(concat(A1:AZ10);6)=""<br />"";"""";concat(A1:AZ10))"

mais ça ne fonctionne pas

Pourriez-vous maider ?
merci d'avance pour votre aide.

4 réponses

  1. Contributeur
    bonjour,

    Tu devrais essayer en bon Français :

    ActiveCell.FormulaLocal = "=SI(GAUCHE(concat(A1:AZ10);6)=""<br />"";"""";concat(A1:AZ10))"
    
    1
    1. Contributeur
      ou alors il faut remplacer les ";" par "," :

      ActiveCell.Formula = "=IF(LEFT(concat(A1:AZ10),6)=""<br />"","""",concat(A1:AZ10))"
      
      1
  2. Modérateur
    Bonjour,

    Rapidement, commence par remplacer "Gauche" par "Left" et "Si" par "IF"... En VBA, Excel est anglophone ! ;))

    Et oui, il faut doubler les ".
    m@rina
    0
    1. Bonjour m@rina,

      J'avais un doute à ce sujet, j'avais essayé:

      ActiveCell.Formula = "=IF(Left(concat(A1:AZ10);6)=""<br />"";"""";concat(A1:AZ10))"

      mais sans succès.

      J'ai aussi assayé de remplacer les double quotes par & chr$(34) & mais ça ne fonctionne pas, je ne suis pas sur de la syntaxe.

      merci pour ton aide.
      0
      1. super ça fonctionne, merci beaucoup.

        Je marque le sujet comme résolu !!!
        0