Bonjour à tous
Je bute ce matin sur les textbox.
J'aimerai leur attribuer un nom lors de leurs création afin de pouvoir les supprimer quand je veux et en recréer d'autres à la place.
Merci de votre aide
Version imprimable
Bonjour à tous
Je bute ce matin sur les textbox.
J'aimerai leur attribuer un nom lors de leurs création afin de pouvoir les supprimer quand je veux et en recréer d'autres à la place.
Merci de votre aide
Bonjour,
C'est bien vague, à priori, je te réponds, donnes leurs un nom grace a leurs propriétés au moment de leur création affichage => propriétés :roll:
A moins qu'elles ne soient créée par VBA
Bonne journée.
Merci casefayere, effectivement, je les fais bien en VBA, et je n'arrive pas à trouver la syntaxe pour les nommer à la création.
Salut
Lorsque tu cré un contrôle, la fonction de création de contrôle te renvoie la référence a ce nouveau contrôle, il te suffit donc d'y faire référence.
Je n'ai pas le code en tête, mais ca donne un truc comme ca
tu as aussi la solution de déclarer une variable et de la definir via le retour de la fonction AddCode:
1
2
3 With LesControle.Add ......'tu adaptes en mettant ici la ligne qui te génère ton composant .name = "LeNomQueTuVeuxDonner" end with
Je n'ai pas testé mais l’esprit de ce que tu cherche a faire s'y trouve.Code:
1
2
3
4
5
6
7
8 Dim MonComposant as object set Moncomposant = LesControle.add.... 'Et par la suite MonComposant.name = "...." 'Et a la fin Set Moncomposant = Nothing
++
Qwaz
Merci qwazerty, mais je ne comprends pas bien la démarche. C'est quand je créé le textboxque j'aimerai que celui-ci ait un nom.Code:
1
2 ActiveChart.Shapes.AddTextbox(msoTextOrientationHorizontal, 140, 35, 75, 20).Select Selection.Characters.Text = total_A
Dans ton précédent post ICI , je t'avais proposé un code capable de répondre à tes besoin, mais, hélas, tu n'y as pas prêté attention.
Essaies de travailler avec des variables au lieu des Activemachin ou truc.select
Ici, une proposition d'ajout d'une seule zone de texte sur le graphique appelé graphique 1 incorporé dans Feuil1, qu'on va nommerCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Dim Ch As ChartObject Dim TxB As Shape 'On récuppère dans Ch l'objet Graphique 1 de Feuil1 (Sans aucune sélection) Set Ch = Sheets("Feuil1").ChartObjects("Graphique 1") ' à adapter au nom de la feuille et au nom du graphique 'Dans le graphique de l'objet graphique Ch on ajoute un TextBox qu'on instancie par la variable Shape TxB Set TxB = Ch.Chart.Shapes.AddTextbox(msoTextOrientationHorizontal, 140, 35, 75, 20) 'On détruit la variable Objet Graphique: Ch (parce qu'on n'en a plus besoin dans notre code) Set Ch = Nothing 'On travaille avec notre zone de texte déjà créée et contenue dans la variable TxB With TxB .Name = "MonTextBox" .TextFrame.Characters.Text = total_A End With 'On détruit la variable Shape: TxB (parce qu'on n'en a plus besoin dans notre code) Set TxB = Nothing
merci à toi mercatog. Effectivement, j'avais zappé ton code; meaculpa, je suis surbooké, je dois rendre deux projets d'ici mardi, et c'est pas évident.
Merci encore mercatog, ça fonctionne OK.
Bon week-end