Doit-on sélectionner une zone de texte ou non ? Voici un
exemple de code illustrant les 2 façons de faire :
Dim T As TextBox
Set T = Worksheets(1).Shapes("MaZone").OLEFormat.Object
a = TypeName(T)
T.Text = "denis"
Worksheets(1).Shapes("MaZone").Select
a = TypeName(Selection)
Selection.Text = "coucou"
Celle-là aussi fonctionne :
Worksheets(1).Shapes("MaZone").OLEFormat.Object.Text
= "allo"
Doit-on sélectionner une zone de texte ou non ? Voici un
exemple de code illustrant les 2 façons de faire :
Dim T As TextBox
Set T = Worksheets(1).Shapes("MaZone").OLEFormat.Object
a = TypeName(T)
T.Text = "denis"
Worksheets(1).Shapes("MaZone").Select
a = TypeName(Selection)
Selection.Text = "coucou"
Celle-là aussi fonctionne :
Worksheets(1).Shapes("MaZone").OLEFormat.Object.Text
= "allo"
Doit-on sélectionner une zone de texte ou non ? Voici un
exemple de code illustrant les 2 façons de faire :
Dim T As TextBox
Set T = Worksheets(1).Shapes("MaZone").OLEFormat.Object
a = TypeName(T)
T.Text = "denis"
Worksheets(1).Shapes("MaZone").Select
a = TypeName(Selection)
Selection.Text = "coucou"
Celle-là aussi fonctionne :
Worksheets(1).Shapes("MaZone").OLEFormat.Object.Text
= "allo"
Bonjour Bernard,
Le code que j'ai donné s'applique à une zone de texte
(zone de texte en provenance de la barre d'outils dessin)
si ton "Textbox" est issu de la boîte à outils Contrôle,
Alain Cross t'a donné un exemple de la ligne de code à
utiliser.
Bonjour Bernard,
Le code que j'ai donné s'applique à une zone de texte
(zone de texte en provenance de la barre d'outils dessin)
si ton "Textbox" est issu de la boîte à outils Contrôle,
Alain Cross t'a donné un exemple de la ligne de code à
utiliser.
Bonjour Bernard,
Le code que j'ai donné s'applique à une zone de texte
(zone de texte en provenance de la barre d'outils dessin)
si ton "Textbox" est issu de la boîte à outils Contrôle,
Alain Cross t'a donné un exemple de la ligne de code à
utiliser.
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).OLEFormat.Object.Object.Text
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).OLEFormat.Object.Object.Text
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).OLEFormat.Object.Object.Text
Par contre, Taboire ?, c'est un HS spécial JPS ?
Par contre, Taboire ?, c'est un HS spécial JPS ?
Par contre, Taboire ?, c'est un HS spécial JPS ?
Essaye comme ça :
Workbooks(Classeur).Sheets(Feuille).Shapes
(MaZone).OLEFormat.Object.Object.Text = "NouvelleValeur"
Oui Alain ! Merci ! Comme ça ça marche. De plus, ça a
l'avantage (par rapport à la méthode indiquée par
Frédéric) de ne pas nécessiter l'activation du classeur.
Pas que ce soit dramatique, mais par certains côtés, c'est
tout de même plus "propre" comme ça ;-)
Encore merci (et encore merci à tous) !
--
Bernard Rey - Toulouse
Essaye comme ça :
Workbooks(Classeur).Sheets(Feuille).Shapes
(MaZone).OLEFormat.Object.Object.Text = "NouvelleValeur"
Oui Alain ! Merci ! Comme ça ça marche. De plus, ça a
l'avantage (par rapport à la méthode indiquée par
Frédéric) de ne pas nécessiter l'activation du classeur.
Pas que ce soit dramatique, mais par certains côtés, c'est
tout de même plus "propre" comme ça ;-)
Encore merci (et encore merci à tous) !
--
Bernard Rey - Toulouse
Essaye comme ça :
Workbooks(Classeur).Sheets(Feuille).Shapes
(MaZone).OLEFormat.Object.Object.Text = "NouvelleValeur"
Oui Alain ! Merci ! Comme ça ça marche. De plus, ça a
l'avantage (par rapport à la méthode indiquée par
Frédéric) de ne pas nécessiter l'activation du classeur.
Pas que ce soit dramatique, mais par certains côtés, c'est
tout de même plus "propre" comme ça ;-)
Encore merci (et encore merci à tous) !
--
Bernard Rey - Toulouse
Juste pour le schmilblick, parce qu'il est bien évident
que tu choisis la solution qui te convient, il n'est pas
nécessaire d'activer ou de sélectionner le classeur pour
utiliser la syntaxe que je t'ai proposée. Tu peux
parfaitement écrire, dans le code d'un autre classeur
que Classeur1.xls :
Workbooks("Classeur1.xls").Sheets
("Feuil1").TextBox1.Value = "coucou"
S'il est important pour toi de pouvoir passer par une
collection d'objets,
la collection OLEObjects autorise une syntaxe plus
concise (façon de parler :) que Shapes (en tout cas avec
Excel XP, mais je pense que c'est OK pour 2000 et 97
également) :
Workbooks("Classeur1.xls").Sheets("Feuil1"). _
OLEObjects("textbox1").Object.Value = "coucou"
Essaye comme ça :
Workbooks(Classeur).Sheets(Feuille).Shapes
(MaZone).OLEFormat.Object.Object.Text = "NouvelleValeur"
Oui Alain ! Merci ! Comme ça ça marche. De plus, ça a
l'avantage (par rapport à la méthode indiquée par
Frédéric) de ne pas nécessiter l'activation du classeur.
Pas que ce soit dramatique, mais par certains côtés,
c'est tout de même plus "propre" comme ça ;-)
Encore merci (et encore merci à tous) !
--
Bernard Rey - Toulouse
Juste pour le schmilblick, parce qu'il est bien évident
que tu choisis la solution qui te convient, il n'est pas
nécessaire d'activer ou de sélectionner le classeur pour
utiliser la syntaxe que je t'ai proposée. Tu peux
parfaitement écrire, dans le code d'un autre classeur
que Classeur1.xls :
Workbooks("Classeur1.xls").Sheets
("Feuil1").TextBox1.Value = "coucou"
S'il est important pour toi de pouvoir passer par une
collection d'objets,
la collection OLEObjects autorise une syntaxe plus
concise (façon de parler :) que Shapes (en tout cas avec
Excel XP, mais je pense que c'est OK pour 2000 et 97
également) :
Workbooks("Classeur1.xls").Sheets("Feuil1"). _
OLEObjects("textbox1").Object.Value = "coucou"
Essaye comme ça :
Workbooks(Classeur).Sheets(Feuille).Shapes
(MaZone).OLEFormat.Object.Object.Text = "NouvelleValeur"
Oui Alain ! Merci ! Comme ça ça marche. De plus, ça a
l'avantage (par rapport à la méthode indiquée par
Frédéric) de ne pas nécessiter l'activation du classeur.
Pas que ce soit dramatique, mais par certains côtés,
c'est tout de même plus "propre" comme ça ;-)
Encore merci (et encore merci à tous) !
--
Bernard Rey - Toulouse
Juste pour le schmilblick, parce qu'il est bien évident
que tu choisis la solution qui te convient, il n'est pas
nécessaire d'activer ou de sélectionner le classeur pour
utiliser la syntaxe que je t'ai proposée. Tu peux
parfaitement écrire, dans le code d'un autre classeur
que Classeur1.xls :
Workbooks("Classeur1.xls").Sheets
("Feuil1").TextBox1.Value = "coucou"
S'il est important pour toi de pouvoir passer par une
collection d'objets,
la collection OLEObjects autorise une syntaxe plus
concise (façon de parler :) que Shapes (en tout cas avec
Excel XP, mais je pense que c'est OK pour 2000 et 97
également) :
Workbooks("Classeur1.xls").Sheets("Feuil1"). _
OLEObjects("textbox1").Object.Value = "coucou"
Essaye comme ça :
Workbooks(Classeur).Sheets(Feuille).Shapes
(MaZone).OLEFormat.Object.Object.Text = "NouvelleValeur"
Oui Alain ! Merci ! Comme ça ça marche. De plus, ça a
l'avantage (par rapport à la méthode indiquée par
Frédéric) de ne pas nécessiter l'activation du classeur.
Pas que ce soit dramatique, mais par certains côtés,
c'est tout de même plus "propre" comme ça ;-)
Encore merci (et encore merci à tous) !
--
Bernard Rey - Toulouse