Retour à la ligne - VBA

Résolu/Fermé
kdeg - 28 août 2014 à 21:51
 tbd - 19 juil. 2017 à 17:13
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

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
Modifié par gbinforme le 28/08/2014 à 22:33
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
Merci de ce partage.
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
28 août 2014 à 22:38
Bonsoir,

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

A+
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
28 août 2014 à 22:50
Bonsoir Gyrus,

C'est vrai que c'est plus simple, sauf que cela ne fonctionne pas et je te laisse chercher pourquoi.
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
28 août 2014 à 23:15
Bonsoir gbinforme,

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

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

A la prochaine !
0