Retour à la ligne - VBA

Résolu
kdeg -  
 tbd -
Bonjour,

J'ai un texte dans la cellule A1 et un texte dans la cellule A2.

Je voudrais, à l'aide de code VBA, écrire dans la cellule A3 : A1, retour à la ligne, A2

Le code que j'ai trouvé et qui marche dans la feuille excel est :

=A1 & CAR(10) & A2 (avec renvoi automatique à la ligne)

Du coup, dans le code VBA, je tape :

Range("A3").formula = "=" & range("A1").Address & "& CAR(10) &" & range("A2").Address

La formule est bonne et est bien transmise à la cellule, mais il y a une erreur de type : #NOM

Mystère...

Par curiosité, je double clique sur la cellule pour éditer la formule, et sans rien toucher, je valide. Bizarrement, le code marche bien...

Conclusion :

J'assigne à une cellule une formule par VBA.
Cette formule est bien transmise mais provoque une erreur de type : #NOM
Lorsque j'édite la formule et que je valide, elle remarche...

Quelqu'un a une idée ?

Merci d'avance

4 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    Au lieu de :
    Range("A3").formula = "=" & range("A1").Address & "& CAR(10) &" & range("A2").Address 

    Si tu écris :
    Range("A3").Formula = "=" & Range("A1").Address & "& CHAR(10) &" & Range("A2").Address

    Cela devrait fonctionner.
    Pourquoi ?
    Parce que CAR est une fonction en français alors que VBA attends de l'anglais !
    CARactère => CHARacter

    Tu aurais pu mettre ceci qui aurait fonctionné :
    Range("A3").formulalocal = "=" & range("A1").Address & "& CAR(10) &" & range("A2").Address 
    Toujours zen
    La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer. Antoine de Saint-Exupéry
    3
    1. tbd
       
      Merci de ce partage.
      0
  2. Gyrus Messages postés 3360 Statut Membre 526
     
    Bonsoir,

    Ou plus simplement
    [C1].Formula = "=A1 & CHAR(10) & B1"

    A+
    0
    1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonsoir Gyrus,

      C'est vrai que c'est plus simple, sauf que cela ne fonctionne pas et je te laisse chercher pourquoi.
      0
    2. Gyrus Messages postés 3360 Statut Membre 526
       
      Bonsoir gbinforme,

      Désolé, je ne vois pas ce qui te chagrine.
      A+
      0
  3. kdeg
     
    Problème résolu !

    Réponse :
    Range("A3").Formula = "=" & Range("A1").Address & "& char(10) &" & Range("A2").Address
    0
  4. kdeg
     
    Et merci de vos réponses !

    A la prochaine !
    0