Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Nommer des textBox

8 réponses
Avatar
LucienMarcel
Bonjour,
En VBA excel 2003, j'ai besoin de créer des textBox et de les nommer pour
pouvoir les réexploiter (copie dans un tableau de bord en lecture seule) en
les rappelant par leur nom et non par leur n° d'ordre affecté par excel.
Je n'arrive pas à trouver le code VBA permettant de nommer chaque textBox
lors de sa création.
Quelqu'un peut-il m'aider?
Merci

8 réponses

Avatar
Modeste
Bonsour® LucienMarcel avec ferveur ;o))) vous nous disiez :

Bonjour,
En VBA excel 2003, j'ai besoin de créer des textBox et de les nommer pour
pouvoir les réexploiter (copie dans un tableau de bord en lecture seule) en
les rappelant par leur nom et non par leur n° d'ordre affecté par excel.
Je n'arrive pas à trouver le code VBA permettant de nommer chaque textBox
lors de sa création.
Quelqu'un peut-il m'aider?


heu ....tiré directement de l'aide
object.Name [= String]
Chaque contrôle ajouté à une feuille au moment de sa conception doit avoir un
nom unique.

ex : TextBox1.name = "TB_Prenom"
TextBox2.name = "TB_Adresse"

--
--
@+
;o)))

Avatar
LucienMarcel
Merci Modeste de vous interesser à mon problème. Mais pour faire cela, il
faut savoir qu'Excel a nommé d'autorité la nouvelle TextBox créée "TextBox1"
ou "TextBox2" pour l'appeler et la renommer d'un nom fixe qui en permettra
une utilisation sans erreur.
Amicalement
Luc



Bonsour® LucienMarcel avec ferveur ;o))) vous nous disiez :

Bonjour,
En VBA excel 2003, j'ai besoin de créer des textBox et de les nommer pour
pouvoir les réexploiter (copie dans un tableau de bord en lecture seule) en
les rappelant par leur nom et non par leur n° d'ordre affecté par excel.
Je n'arrive pas à trouver le code VBA permettant de nommer chaque textBox
lors de sa création.
Quelqu'un peut-il m'aider?


heu ....tiré directement de l'aide
object.Name [= String]
Chaque contrôle ajouté à une feuille au moment de sa conception doit avoir un
nom unique.

ex : TextBox1.name = "TB_Prenom"
TextBox2.name = "TB_Adresse"

--
--
@+
;o)))






Avatar
MichDenis
Cette macro crée un textbox au dimension de la cellule G5 portant le nom de TB_Prenom

Tu cherches autre chose ?
'-------------------------------
Sub test()
Dim L As Double, T As Double
Dim W As Double, H As Double

With ActiveSheet
With .Range("G5")
L = .Left
T = .Top
W = .Width
H = .Height
End With
With .OLEObjects
With .Add(ClassType:="Forms.TextBox.1", Link:úlse, _
DisplayAsIcon:úlse, Left:=L, Top:=T, _
Width:=W, Height:=H)
.Name = "Tb_Prenom"
End With
End With
End With

End Sub
'-------------------------------



"LucienMarcel" a écrit dans le message de news:

Bonjour,
En VBA excel 2003, j'ai besoin de créer des textBox et de les nommer pour
pouvoir les réexploiter (copie dans un tableau de bord en lecture seule) en
les rappelant par leur nom et non par leur n° d'ordre affecté par excel.
Je n'arrive pas à trouver le code VBA permettant de nommer chaque textBox
lors de sa création.
Quelqu'un peut-il m'aider?
Merci
Avatar
LucienMarcel
Grand merci MichDenis. Ca marche pour la création de la TextBox, mais
comment la sélectionner (comment activer un objet OLE), puis placer dedans
un texte récupéré par ailleurs notamment par une inputBox?
Amicalement
Avatar
lSteph
Bonjour,

J'aurais bien répondu que l'appeler par son nom suffirait
l'ennui c'est que j'ai testé ton code "qui fonctionne" sauf
que cette instruction semble être ignorée:
.Name = "Tb_Prenom"

il s'appelle toujours TextBox1..???

Cordialement.

lSteph



On 12 avr, 14:16, "MichDenis" wrote:
Cette macro crée un textbox au dimension de la cellule G5 portant le no m de TB_Prenom

Tu cherches autre chose ?
'-------------------------------
Sub test()
Dim L As Double, T As Double
Dim W As Double, H As Double

With ActiveSheet
With .Range("G5")
L = .Left
T = .Top
W = .Width
H = .Height
End With
With .OLEObjects
With .Add(ClassType:="Forms.TextBox.1", Link:úlse, _
DisplayAsIcon:úlse, Left:=L, Top:=T, _
Width:=W, Height:=H)
.Name = "Tb_Prenom"
End With
End With
End With

End Sub
'-------------------------------

"LucienMarcel" a écrit dans le message de news:

Bonjour,
En VBA excel 2003, j'ai besoin de créer des textBox et de les nommer po ur
pouvoir les réexploiter (copie dans un tableau de bord en lecture seule ) en
les rappelant par leur nom et non par leur n° d'ordre affecté par exc el.
Je n'arrive pas à trouver le code VBA permettant de nommer chaque textB ox
lors de sa création.
Quelqu'un peut-il m'aider?
Merci


Avatar
lSteph
..en fait ce n'est pas ignoré, c'est plus subtil:

Ceci fonctionne:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
TextBox1.Text = "blabla"
End Sub

ceci aussi

ActiveSheet.OLEObjects("Tb_Prenom") .Select

Ceci ne fonctionne pas
ActiveSheet.OLEObjects("Tb_Prenom") .Text="blablabli"

Tu dois connaître le bon moyen...

;o)

@+

lSteph

On 13 avr, 11:55, "lSteph" wrote:
Bonjour,

J'aurais bien répondu que l'appeler par son nom suffirait
l'ennui c'est que j'ai testé ton code "qui fonctionne" sauf
que cette instruction semble être ignorée:
.Name = "Tb_Prenom"

il s'appelle toujours TextBox1..???

Cordialement.

lSteph

On 12 avr, 14:16, "MichDenis" wrote:

Cette macro crée un textbox au dimension de la cellule G5 portant le nom de TB_Prenom

Tu cherches autre chose ?
'-------------------------------
Sub test()
Dim L As Double, T As Double
Dim W As Double, H As Double

With ActiveSheet
With .Range("G5")
L = .Left
T = .Top
W = .Width
H = .Height
End With
With .OLEObjects
With .Add(ClassType:="Forms.TextBox.1", Link:úlse, _
DisplayAsIcon:úlse, Left:=L, Top:=T, _
Width:=W, Height:=H)
.Name = "Tb_Prenom"
End With
End With
End With

End Sub
'-------------------------------

"LucienMarcel" a écrit dans le message de news:

Bonjour,
En VBA excel 2003, j'ai besoin de créer des textBox et de les nommer pour
pouvoir les réexploiter (copie dans un tableau de bord en lecture seu le) en
les rappelant par leur nom et non par leur n° d'ordre affecté par e xcel.
Je n'arrive pas à trouver le code VBA permettant de nommer chaque tex tBox
lors de sa création.
Quelqu'un peut-il m'aider?
Merci




Avatar
MichDenis
2 façons d'introduire du texte dans le textbox :
'-----------------------
Sub test1()

With Worksheets("Feuil1")
.Shapes("Tb_Prenom").OLEFormat.Object.Object.Text = "toto"
End With

End Sub
'-----------------------
Sub test2()

With Worksheets("Feuil1")
.Tb_Prenom.Text = "Tato"
End With

End Sub
'-----------------------



"LucienMarcel" a écrit dans le message de news:

Grand merci MichDenis. Ca marche pour la création de la TextBox, mais
comment la sélectionner (comment activer un objet OLE), puis placer dedans
un texte récupéré par ailleurs notamment par une inputBox?
Amicalement
Avatar
LucienMarcel
Mille mercis à vous 3. Grace à vous j'avance sur mon appli.
Amicalement
--
LucienMarcel



...en fait ce n'est pas ignoré, c'est plus subtil:

Ceci fonctionne:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
TextBox1.Text = "blabla"
End Sub

ceci aussi

ActiveSheet.OLEObjects("Tb_Prenom") .Select

Ceci ne fonctionne pas
ActiveSheet.OLEObjects("Tb_Prenom") .Text="blablabli"

Tu dois connaître le bon moyen...

;o)

@+

lSteph

On 13 avr, 11:55, "lSteph" wrote:
Bonjour,

J'aurais bien répondu que l'appeler par son nom suffirait
l'ennui c'est que j'ai testé ton code "qui fonctionne" sauf
que cette instruction semble être ignorée:
.Name = "Tb_Prenom"

il s'appelle toujours TextBox1..???

Cordialement.

lSteph

On 12 avr, 14:16, "MichDenis" wrote:

Cette macro crée un textbox au dimension de la cellule G5 portant le nom de TB_Prenom

Tu cherches autre chose ?
'-------------------------------
Sub test()
Dim L As Double, T As Double
Dim W As Double, H As Double

With ActiveSheet
With .Range("G5")
L = .Left
T = .Top
W = .Width
H = .Height
End With
With .OLEObjects
With .Add(ClassType:="Forms.TextBox.1", Link:úlse, _
DisplayAsIcon:úlse, Left:=L, Top:=T, _
Width:=W, Height:=H)
.Name = "Tb_Prenom"
End With
End With
End With

End Sub
'-------------------------------

"LucienMarcel" a écrit dans le message de news:

Bonjour,
En VBA excel 2003, j'ai besoin de créer des textBox et de les nommer pour
pouvoir les réexploiter (copie dans un tableau de bord en lecture seule) en
les rappelant par leur nom et non par leur n° d'ordre affecté par excel.
Je n'arrive pas à trouver le code VBA permettant de nommer chaque textBox
lors de sa création.
Quelqu'un peut-il m'aider?
Merci