OVH Cloud OVH Cloud

zone de texte

9 réponses
Avatar
FB
Bjr a tous.....

j'ai une petite question :

comment faire en vba pour mettre le contenu d'une ou plusieur variable dans
une zone de texte situé dans excel (je dis bien une zone de texte pas une
texte box)
J'ai personnellement des difficulté car les zones de textes ne sont pas des
objet attaché au visual basic........ si quelqu'un peu me depanner......

Merci bien

9 réponses

Avatar
Michel Gaboly
Bonsoir,

Les zones de textes font partie de la collection Shapes.

Voici un exemple :

Sub ReportDansZoneDeTexte()
ActiveSheet.Shapes("Text Box 1").Select
Selection.Characters.Text = MaVar
End Sub

En général, la sélection d'un objet est déconseillée dans VBA, car c'est
presque toujours une perte de temps.

Un objet Shape est un cas particulier, car le code suivant ne fonctionne
pas :

Sub Test()
ActiveSheet.Shapes("Text Box 1").Characters.Text = "sdfszeffzefr"
End Sub

On obtient en effet l'erreur 438, "Propriété ou méthode non gérée par
cet objet.


Bjr a tous.....

j'ai une petite question :

comment faire en vba pour mettre le contenu d'une ou plusieur variable dans
une zone de texte situé dans excel (je dis bien une zone de texte pas une
texte box)
J'ai personnellement des difficulté car les zones de textes ne sont pas des
objet attaché au visual basic........ si quelqu'un peu me depanner......

Merci bien



--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
AV
var1 = "riri"
var2 = "loulou"
ActiveSheet.Shapes("MaZoneDeTexte").TextFrame.Characters.Text = var1 & vbLf &
var2


AV
Avatar
FB
merci à vous!!!
vous m'aidé bien
puis je vous poser une autre question ..... si j'ai 2 Zone de texte, comment
distingué l'une de l'autre ???? comment leur donné un nom ......????
shapes("mazonedetexte") ne parche pas ..... alors j'ai mis shapes(1) et la
ca marche.... mais si je place une 2eme zone de texte et que je met un
shapes(2) il plante.....????

pouvez vous m'aider???


var1 = "riri"
var2 = "loulou"
ActiveSheet.Shapes("MaZoneDeTexte").TextFrame.Characters.Text = var1 & vbLf &
var2


AV





Avatar
AV
..comment leur donné un nom ......????
shapes("mazonedetexte") ne parche pas ..... alors j'ai mis shapes(1) et la


Clic droit sur la bordure pour sélectionner l'objet et tu tapes le nom désiré
dans la barre des noms (à gauche de la barre de formule)

AV

Avatar
Michel Gaboly
Bonsoir,

Voici comment récupérer le nom des différentes zones de texte : dans un
classeur vierge, insère un module, et entre ce code :

Sub Liste()
Dim s As Shape, i As Integer
For Each s In ActiveSheet.Shapes
With ThisWorkbook.Sheets(1).Range("A1")
.Offset(i) = s.Name
.Offset(i, 1) = s.TopLeftCell.Address(0, 0)
End With
i = i + 1
Next
End Sub

Tu obtiendras sur la première feuille du classeur contenant le code la
liste des noms des zones de texte en colonne A, et leur position (pour
les repérer) en colonne B.


NB - Si tu sélectionnes une zone de texte, son nom apparaît à gauche de
la barre de formule. Toutefois ce nom est affiché dans la langue
correspondant à la version d'Excel, alors que VBA a besoin du nom en
anglais : ainsi, avec une version française, sera affiché "Zone de texte
1", alors qu'il faut utiliser dans le code "Text Box 1", d'où l'intérêt
de la procédure ci-dessus qui évite toute ambigüité.


merci à vous!!!
vous m'aidé bien
puis je vous poser une autre question ..... si j'ai 2 Zone de texte, comment
distingué l'une de l'autre ???? comment leur donné un nom ......????
shapes("mazonedetexte") ne parche pas ..... alors j'ai mis shapes(1) et la
ca marche.... mais si je place une 2eme zone de texte et que je met un
shapes(2) il plante.....????

pouvez vous m'aider???



var1 = "riri"
var2 = "loulou"
ActiveSheet.Shapes("MaZoneDeTexte").TextFrame.Characters.Text = var1 & vbLf &
var2


AV







--
Cordialement,

Michel Gaboly
www.gaboly.com


Avatar
FB
Merci bcp à vous AV et michel gaboly

vos solution sont parfaites pour moi

si jamais vous avez des questions, n'hésité pas je ferai mon possible



Bonsoir,

Voici comment récupérer le nom des différentes zones de texte : dans un
classeur vierge, insère un module, et entre ce code :

Sub Liste()
Dim s As Shape, i As Integer
For Each s In ActiveSheet.Shapes
With ThisWorkbook.Sheets(1).Range("A1")
.Offset(i) = s.Name
.Offset(i, 1) = s.TopLeftCell.Address(0, 0)
End With
i = i + 1
Next
End Sub

Tu obtiendras sur la première feuille du classeur contenant le code la
liste des noms des zones de texte en colonne A, et leur position (pour
les repérer) en colonne B.


NB - Si tu sélectionnes une zone de texte, son nom apparaît à gauche de
la barre de formule. Toutefois ce nom est affiché dans la langue
correspondant à la version d'Excel, alors que VBA a besoin du nom en
anglais : ainsi, avec une version française, sera affiché "Zone de texte
1", alors qu'il faut utiliser dans le code "Text Box 1", d'où l'intérêt
de la procédure ci-dessus qui évite toute ambigüité.


merci à vous!!!
vous m'aidé bien
puis je vous poser une autre question ..... si j'ai 2 Zone de texte, comment
distingué l'une de l'autre ???? comment leur donné un nom ......????
shapes("mazonedetexte") ne parche pas ..... alors j'ai mis shapes(1) et la
ca marche.... mais si je place une 2eme zone de texte et que je met un
shapes(2) il plante.....????

pouvez vous m'aider???



var1 = "riri"
var2 = "loulou"
ActiveSheet.Shapes("MaZoneDeTexte").TextFrame.Characters.Text = var1 & vbLf &
var2


AV







--
Cordialement,

Michel Gaboly
www.gaboly.com





Avatar
Michel Gaboly
De rien ;-)))

Merci bcp à vous AV et michel gaboly

vos solution sont parfaites pour moi

si jamais vous avez des questions, n'hésité pas je ferai mon possible




Bonsoir,

Voici comment récupérer le nom des différentes zones de texte : dans un
classeur vierge, insère un module, et entre ce code :

Sub Liste()
Dim s As Shape, i As Integer
For Each s In ActiveSheet.Shapes
With ThisWorkbook.Sheets(1).Range("A1")
.Offset(i) = s.Name
.Offset(i, 1) = s.TopLeftCell.Address(0, 0)
End With
i = i + 1
Next
End Sub

Tu obtiendras sur la première feuille du classeur contenant le code la
liste des noms des zones de texte en colonne A, et leur position (pour
les repérer) en colonne B.


NB - Si tu sélectionnes une zone de texte, son nom apparaît à gauche de
la barre de formule. Toutefois ce nom est affiché dans la langue
correspondant à la version d'Excel, alors que VBA a besoin du nom en
anglais : ainsi, avec une version française, sera affiché "Zone de texte
1", alors qu'il faut utiliser dans le code "Text Box 1", d'où l'intérêt
de la procédure ci-dessus qui évite toute ambigüité.



merci à vous!!!
vous m'aidé bien
puis je vous poser une autre question ..... si j'ai 2 Zone de texte, comment
distingué l'une de l'autre ???? comment leur donné un nom ......????
shapes("mazonedetexte") ne parche pas ..... alors j'ai mis shapes(1) et la
ca marche.... mais si je place une 2eme zone de texte et que je met un
shapes(2) il plante.....????

pouvez vous m'aider???




var1 = "riri"
var2 = "loulou"
ActiveSheet.Shapes("MaZoneDeTexte").TextFrame.Characters.Text = var1 & vbLf &
var2


AV







--
Cordialement,

Michel Gaboly
www.gaboly.com





--
Cordialement,

Michel Gaboly
www.gaboly.com




Avatar
AV
si jamais vous avez des questions, n'hésité pas je ferai mon possible


Tu peux pas me prêter 100 euros ?

AV

Avatar
FB
tiens les vla (en format informatique évidement)
--------------------
| |
| 100 eur |
| |
--------------------
A+ ;)



si jamais vous avez des questions, n'hésité pas je ferai mon possible


Tu peux pas me prêter 100 euros ?

AV