[excel] vba mettre dans un cellule le signe =

Résolu/Fermé
mortelrdv - 6 oct. 2008 à 15:48
 mortelrdv - 6 oct. 2008 à 22:06
Bonjour,

j'un un petit macro de test suivant :
--------------------------------------------------
Sub Macro1()
Dim Testt As String

trinhga = "=hj|h"
Range("A2").Value = "hj|h"
Range("B2").Value = Testt
Range("C2").Value = Testt
End Sub
------------------------------------------

la cellule A2 est déclarer en tant que 'Standard'
la cellule B2 est déclarer en tant que 'Texte'
la cellule C2 est déclarer en tant que 'Standard'

dans la feuille excel :
A2 affiche bien "hj|h"
B2 affiche bien "=hj|h"
la macro s'est planté à la ligne : Range("C2").Value = Testt et le probleme vient bien du signe '=' contenu dans la variable Testt alors quer je voudrais qu'il affiche =hj|h en tant que du texte.

savez vous comment résoudre ce probleme tout en laissant la cellule à l'état 'Standard' ?

Merci
A voir également:

4 réponses

A priori il y a une confusion dans l'intitulé de ta question?

Qu'y a t-il dans Testt ?

essaye en mettant une apostrophe devant le signe = comme ca: variable = "'=hj|h"
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
6 oct. 2008 à 21:08
Bonsoir,

en supposant qu'il faille lire testt à la place de trinhga tu donnes toi même la réponse :
la cellule C2 est déclarer en tant que 'Standard'
Excel essaie d'interpréter une formule, en l'occurence =Testt qui ne correspond à rien dans le classeur.
Force le format texte avec [C2].NumberFormat = "@" ou
Range("C2").Value = "'" & Testt
et ça marche...
eric
0
Bonsoir,

Merci prof
ça marche

Merci à tous
0
Ankhsuamon Messages postés 47 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 17 août 2009 2
6 oct. 2008 à 19:49
Hello,

Je suis d'accord avec Prof, Car selon le code de ta macro, tu devrais avoir hj|h dans ta cellule A2 et rien dans les deux suivantes puisque ta variable ne contien rien.

Maintenant si ta variable contient "=hj|h", alors soit tu modifies sont resultat en "'=hj|h", ou alors Range("B2").Value = "'" & Testt.

-1