Retour à la ligne - VBA
Résolu
kdeg
-
tbd -
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
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
Bonjour,
Au lieu de :
Si tu écris :
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é :
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
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
tbd
Merci de ce partage.