Ecrire dans une zone de texte [Résolu]

Messages postés
59
Date d'inscription
mardi 4 décembre 2007
Dernière intervention
28 juin 2012
- - Dernière réponse : ZEPS256
Messages postés
59
Date d'inscription
mardi 4 décembre 2007
Dernière intervention
28 juin 2012
- 28 juin 2012 à 22:24
Hello,

j ai un petit problème tout bête
je n'arrive pas a ecrire dans ma zone de texte

Sub ecrire()

TextBox1.Text = "hello"

End Sub

Plus light on peut pas !!!

merci à tous


Lezeps ;-))
http://www.amicro44.com/index.php
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Dernière intervention
17 avril 2017
3
Merci
Re,

myDocument est déclaré mais non utilisé.
Dans ton code tu as un With/End With inutile si tu ne manipules que le texte.

Texte couleur de fond et cadre :

With Worksheets("Feuil1").Shapes("Text1")
   With .TextFrame.Characters
      .Text = "TOTO"
      .Font.Color = vbBlue
      ' ou .Font.ColorIndex = 56 ' (1 à 56)
   End With
   
   With .TextFrame
      .HorizontalAlignment = xlCenter  ' centré horizontalement
      .VerticalAlignment = xlCenter    ' texte centré verticalement
   End With
   
   With .Fill
      .ForeColor.SchemeColor = 44
      'ou  .ForeColor.RGB = RGB(r, v, b)
      .Transparency = 0.5
   End With
   
   With .Line
      .Weight = 2.5                 '   épaisseur du cadre
      .ForeColor.SchemeColor = 12   '   couleur du cadre
      '  ou .ForeColor.RGB = RGB(r, v, b)
   End With
End With


Voilà, tu as presque tout ce qu'il te faut...

Cheyenne

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de cs_cheyenne
Messages postés
59
Date d'inscription
mardi 4 décembre 2007
Dernière intervention
28 juin 2012
0
Merci
Petite précision, je parle bien d'une zone de texte dans une feuille et non pas une textbox dans une userform.

J'ai un doute sur l’appellation de cette objet dans VBA.


Lezeps ;-))
http://www.amicro44.com/index.php
Commenter la réponse de ZEPS256
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Bonjour, ZEPS256.
Tu viens poser ici une question, mais ne prends même pas la peine de nous dire quel est le message d'erreur sur tu reçois (car tu en reçois un !)
On va donc attendre que tu fasses cet énorme effort (du temps perdu ? oui ... comme tu le vois ... La faute à qui ?)

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Bon ... (mais prends dorénavant ce soin, s'il te plait).
Tu as reçu le message d'erreur suivant :
Erreur d'exécution 424
Objet requis

Et ce message est révélateur. Pour le moin "parlant".
Ta macro ne sait pas ce qu'est Textbox1, puisque tu ne lui dis pas où se trouve cet objet (qui pourrait se trouver n'importe où dans ton projet !) ===>> dis-le lui donc ! Ne lui cache rien à elle non plus ! ===>>
si la feuille sur laquelle se trouve cette textbox est Feuil1 ===>>
sheets("Feuil1").TextBox1.Text = "hello"




________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
59
Date d'inscription
mardi 4 décembre 2007
Dernière intervention
28 juin 2012
0
Merci
Ucfoutu,

Merci de ta réponse, même si elle est un peu sèche !

Mon message est :
Objet requis (erreur 424)

Ma question est de savoir si "textbox" défini bien une zone texte dans une feuille ou si c'est réservé au format dans les "userform". Je n'arrive pas à valider cette info.

Message en lui précisant la feuille :
Cet objet ne gère pas cette propriété ou méthode (erreur 438)

Merci de vos réponses !

Lezeps ;-))
http://www.amicro44.com/index.php
Commenter la réponse de ZEPS256
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Prends simplement l'habitude d'être précis. Cela évite des discussion à rallonge.
Les explications du genre "mais ça ne marche pas", "mais j'ai une erreur", etc ... ne peuvent que conduire à des questions réponses à n'en plus finir. Et cela commence à devenir une habitude (pas seulement toi) assez nuisible.
Bon.
Tu as donc eu ma réponse/solution.
Si c'était cela et que problème résolu ===>> sujet à libérer en cliquant sur le tag "réponse acceptée".



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Où as-tu "puisé" ce contrôle Texbox1, exactement ?
Si dans le menu général, ce n'est pas une textbox et il esr vraisemblable que son nom n'est pas Textbox1, mais du genre : "ZoneTexte 1" et se gère de manière différente.
Je te conseille d'utiliser plutôt un véritable contrôle TextBox (à prendre dans la boîte à outils). Il s'agit là d'un Contrôle ActiveX, parfaitement insérable sur ta feuille, et dont le nom par défaut sera bien TextBox1.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Dernière intervention
17 avril 2017
0
Merci
Bonjour,

Pour une zone de texte le code est spécifique.
Fais fonctionner ton enregistreur de macro et tu auras le code nécessaire.

Si dans ta version d'Excel l'enregistreur ne fonctionne pas avec les Shapes, consultes ton aide en utilisant comme critère "TextFrame" et dans la liste choisis "objet".
Si tu n'y arrives toujours pas, et seulement à ce moment-là, je t'indiquerai le code pour insérer du texte dans une zone de texte.

Si tu n'as pas d'effets graphiques à faire dans ta zone de texte utilises, comme te l'a indiqué ucfoutu, un contrôle Textbox.

Cheyenne
Commenter la réponse de cs_cheyenne
Messages postés
59
Date d'inscription
mardi 4 décembre 2007
Dernière intervention
28 juin 2012
0
Merci
merci à vous deux.

Pour la solution de cheyenne, qui me semble (pour moi...) la plus simple, j'ai bien réussi à créer ma zone de tzexte, mais je n'arrive pas à manipuler à l'intérieur mo,n texte (taille, couleur).

Set myDocument = Worksheets(1)
With myDocument.Shapes.AddShape(msoShapeRectangle, _
0, 0, 400, 250).TextFrame
.Characters.Text = "200"
.MarginBottom = 30
.MarginLeft = 30
.MarginRight = 30
.MarginTop = 30
End With

les propriétés :
.Name = "calibri"
.Size = "200"
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor

ne sont pas prise en compte par le shapes.
Comment manipuler cette zone de texte ?

Lezeps ;-))
http://www.amicro44.com/index.php
Commenter la réponse de ZEPS256
Messages postés
59
Date d'inscription
mardi 4 décembre 2007
Dernière intervention
28 juin 2012
0
Merci
Bon C'est tout bon pour les texte.
Reste à manipuler le format de la zone texte...je la veux sans fond, en arrière plan sans contour....une image en arrière plan doit se voir
Pour l'instant je bloque

mon code actuelle :

Set myDocument = Worksheets(1)
With myDocument.Shapes.AddShape(msoShapeRectangle, _
30, 15, 500, 380).TextFrame
.Characters.Text = "200"
.Characters.Font.Size = 250
.Characters.Font.Color = RGB(0, 0, 0)
.MarginBottom = 30
.MarginLeft = 30
.MarginRight = 30
.MarginTop = 30
End With

Lezeps ;-))
http://www.amicro44.com/index.php
Commenter la réponse de ZEPS256
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Dernière intervention
17 avril 2017
0
Merci
Re,

En incluant les parties du codes qui te sont utiles dans une macro !

Si ta zone de texte est déjà créée avant de faire appel à la macro :
With Sheets(1).Shapes("zdtTOTO")
   With .TextFrame
     .Characters.Text = "titi"
     .MarginBottom = 30
     ' etc...
   End With
   ' ici les autres propriétés
End With

Tout ce qui est à False n'a pas à être indiqué au départ.

Cheyenne
Commenter la réponse de cs_cheyenne
Messages postés
59
Date d'inscription
mardi 4 décembre 2007
Dernière intervention
28 juin 2012
0
Merci
Super,

Sub ecrire()
Set myDocument = Worksheets("Feuil1")
With Worksheets("Feuil1").Shapes("Text1")
With .TextFrame
.Characters.Text = "250"
.Characters.Font.Size = 250
.Characters.Font.Color = RGB(0, 0, 0)
.MarginBottom = 100
.MarginLeft = 35
.MarginRight = 30
.MarginTop = 10
End With

End With
End Sub

Mais je n'arrive pas à trouver la propriété de la zone => bordure, couleur de fond,...
quelqu'un peut m'aider.
Je ne vois rien ds l'aide avec shapes F1 !!!

Characters => pour manipuler le texte
MarginBottom => pour manipuler le placement du texte
XXXX => pour manipuler la bordure ?
XXXXX=> pour manipuler le fond ( en l’occurrence sans pour voir à travers l'image de derrière)?

Lezeps ;-))
http://www.amicro44.com/index.php
Commenter la réponse de ZEPS256
Messages postés
59
Date d'inscription
mardi 4 décembre 2007
Dernière intervention
28 juin 2012
0
Merci
super ! merci cheyenne !

mon code fonctionne pour mon besoin !

Lezeps ;-))
http://www.amicro44.com/index.php
Commenter la réponse de ZEPS256

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.