J'ai "h=E9rit=E9" d'un classeur Excel truff=E9 de Zones de Texte=20
(de la barre d'outils "Contr=F4les") et j'essaye=20
d=E9sep=E9r=E9ment de trouver comment on doit s'y prendre pour=20
en modifier la valeur, via VBA (Excel 2000).
J'ai fait plusieurs essais, du style :
With Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone)
.Characters.Text =3D "NouvelleValeur" 'entre autres
End With
Mais =E7a me r=E9pond toujours "Propri=E9t=E9 ou m=E9thode non g=E9r=E9e =
par cet objet". J'ai beau faire... aucun r=E9sultat ! Grrrr !
Quelqu'un saurait me dire ce qui m'=E9chappe ? Comment=20
attrape-t-on la valeur d'un "TextBox" ??? Merci,
C'est quand même spécial que, dans le cas où on sélectionne, on n'a pas besoin d'invoquer explicitement cette attribut mais bon, ça résoud mon interrogation fondamentale (une question existentielle de moins) :-)
Salutations,
Daniel M.
"Alain CROS" wrote in message news:
Bonjour.
Les shapes sont assez compliqués. Il faut écrire : Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.Text "Allo le monde"
Alain CROS.
Merci (encore) Alain,
TextFrame!
C'est quand même spécial que, dans le cas où on sélectionne, on n'a pas besoin
d'invoquer explicitement cette attribut mais bon, ça résoud mon interrogation
fondamentale (une question existentielle de moins) :-)
Salutations,
Daniel M.
"Alain CROS" <Personne@ICI> wrote in message
news:Oy5ItvM8DHA.2540@TK2MSFTNGP11.phx.gbl...
Bonjour.
Les shapes sont assez compliqués.
Il faut écrire :
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.Text "Allo le monde"
C'est quand même spécial que, dans le cas où on sélectionne, on n'a pas besoin d'invoquer explicitement cette attribut mais bon, ça résoud mon interrogation fondamentale (une question existentielle de moins) :-)
Salutations,
Daniel M.
"Alain CROS" wrote in message news:
Bonjour.
Les shapes sont assez compliqués. Il faut écrire : Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.Text "Allo le monde"
Alain CROS.
Bernard Rey
Les shapes sont assez compliqués. Il faut écrire : Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.
Text = "Allo le monde"
Merci Alain, mais ça ne marche pas ça. C'est typiquement ce que j'ai tenté tout l'après-midi sans succès. J'ai invariablement la même réponse : "Propriété ou méthode non gérée par cet objet"... Ou alors il y a vraiment quelque chose qui m'échappe ! Mais quoi ???
-- Bernard Rey - Toulouse
"Daniel.M" a écrit dans le message de news: #
Claudy,
mais non...tu compliques sub test
TextBox1.Value = "Remplir le textbox" 'tout simplement :-)) end sub
Bernard ne remplit pas un TextBox mais une Shape.
Et il veut trouver le moyen de remplir le contenu de celle-ci en une seule instruction qui remplacerait les deux suivantes:
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).Select Selection.Characters.Text = "Allo le monde"
Alors que celle-ci échoue (faudrait qu'on m'explique à moi aussi) : Workbooks(Classeur).Sheets(Feuille) _ .Shapes(MaZone).Characters.Text = "Allo le monde"
En résumé, pourquoi devoir SELECTionner ?
Salutations,
Daniel M.
.
Les shapes sont assez compliqués.
Il faut écrire :
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.
Text = "Allo le monde"
Merci Alain, mais ça ne marche pas ça. C'est typiquement ce que j'ai tenté
tout l'après-midi sans succès. J'ai invariablement la même réponse :
"Propriété ou méthode non gérée par cet objet"... Ou alors il y a vraiment
quelque chose qui m'échappe ! Mais quoi ???
--
Bernard Rey - Toulouse
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message
de news: #FGGfHM8DHA.1816@TK2MSFTNGP12.phx.gbl...
Claudy,
mais non...tu compliques
sub test
TextBox1.Value = "Remplir le textbox" 'tout simplement :-))
end sub
Bernard ne remplit pas un TextBox mais une Shape.
Et il veut trouver le moyen de remplir le contenu de celle-ci en une seule
instruction qui remplacerait les deux suivantes:
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).Select
Selection.Characters.Text = "Allo le monde"
Alors que celle-ci échoue (faudrait qu'on m'explique à moi aussi) :
Workbooks(Classeur).Sheets(Feuille) _
.Shapes(MaZone).Characters.Text = "Allo le monde"
Les shapes sont assez compliqués. Il faut écrire : Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.
Text = "Allo le monde"
Merci Alain, mais ça ne marche pas ça. C'est typiquement ce que j'ai tenté tout l'après-midi sans succès. J'ai invariablement la même réponse : "Propriété ou méthode non gérée par cet objet"... Ou alors il y a vraiment quelque chose qui m'échappe ! Mais quoi ???
-- Bernard Rey - Toulouse
"Daniel.M" a écrit dans le message de news: #
Claudy,
mais non...tu compliques sub test
TextBox1.Value = "Remplir le textbox" 'tout simplement :-)) end sub
Bernard ne remplit pas un TextBox mais une Shape.
Et il veut trouver le moyen de remplir le contenu de celle-ci en une seule instruction qui remplacerait les deux suivantes:
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).Select Selection.Characters.Text = "Allo le monde"
Alors que celle-ci échoue (faudrait qu'on m'explique à moi aussi) : Workbooks(Classeur).Sheets(Feuille) _ .Shapes(MaZone).Characters.Text = "Allo le monde"
En résumé, pourquoi devoir SELECTionner ?
Salutations,
Daniel M.
.
michdenis
Bonsoir Daniel,
Celle-là aussi fonctionne :
Worksheets(1).Shapes("Zone de texte 1").OLEFormat.Object.Text = "allo"
Salutations!
"Daniel.M" a écrit dans le message de news:Ook4% Merci (encore) Alain,
TextFrame!
C'est quand même spécial que, dans le cas où on sélectionne, on n'a pas besoin d'invoquer explicitement cette attribut mais bon, ça résoud mon interrogation fondamentale (une question existentielle de moins) :-)
Salutations,
Daniel M.
"Alain CROS" wrote in message news:
Bonjour.
Les shapes sont assez compliqués. Il faut écrire : Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.Text "Allo le monde"
Alain CROS.
Bonsoir Daniel,
Celle-là aussi fonctionne :
Worksheets(1).Shapes("Zone de texte 1").OLEFormat.Object.Text = "allo"
Salutations!
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de news:Ook4%23LN8DHA.1716@TK2MSFTNGP10.phx.gbl...
Merci (encore) Alain,
TextFrame!
C'est quand même spécial que, dans le cas où on sélectionne, on n'a pas besoin
d'invoquer explicitement cette attribut mais bon, ça résoud mon interrogation
fondamentale (une question existentielle de moins) :-)
Salutations,
Daniel M.
"Alain CROS" <Personne@ICI> wrote in message
news:Oy5ItvM8DHA.2540@TK2MSFTNGP11.phx.gbl...
Bonjour.
Les shapes sont assez compliqués.
Il faut écrire :
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.Text "Allo le monde"
Worksheets(1).Shapes("Zone de texte 1").OLEFormat.Object.Text = "allo"
Salutations!
"Daniel.M" a écrit dans le message de news:Ook4% Merci (encore) Alain,
TextFrame!
C'est quand même spécial que, dans le cas où on sélectionne, on n'a pas besoin d'invoquer explicitement cette attribut mais bon, ça résoud mon interrogation fondamentale (une question existentielle de moins) :-)
Salutations,
Daniel M.
"Alain CROS" wrote in message news:
Bonjour.
Les shapes sont assez compliqués. Il faut écrire : Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.Text "Allo le monde"
Alain CROS.
michdenis
En supplément,
Doit-on sélectionner une zone de texte ou non ? Voici un exemple de code illustrant les 2 façons de faire :
'Sans sélectionner la zone de texte 'à remarquer que dans les 2 procédures que cette 'ligne de code : a = TypeName(T) renvoie : Textbox
Dim T As TextBox Set T = Worksheets(1).Shapes("Zone de texte 1").OLEFormat.Object a = TypeName(T) T.Text = "denis"
Worksheets(1).Shapes("Zone de texte 1").Select a = TypeName(Selection) Selection.Text = "coucou"
Salutations!
"michdenis" a écrit dans le message de news: Bonsoir Daniel,
Celle-là aussi fonctionne :
Worksheets(1).Shapes("Zone de texte 1").OLEFormat.Object.Text = "allo"
Salutations!
"Daniel.M" a écrit dans le message de news:Ook4% Merci (encore) Alain,
TextFrame!
C'est quand même spécial que, dans le cas où on sélectionne, on n'a pas besoin d'invoquer explicitement cette attribut mais bon, ça résoud mon interrogation fondamentale (une question existentielle de moins) :-)
Salutations,
Daniel M.
"Alain CROS" wrote in message news:
Bonjour.
Les shapes sont assez compliqués. Il faut écrire : Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.Text "Allo le monde"
Alain CROS.
En supplément,
Doit-on sélectionner une zone de texte ou non ? Voici un exemple de code illustrant les 2 façons de faire :
'Sans sélectionner la zone de texte
'à remarquer que dans les 2 procédures que cette
'ligne de code : a = TypeName(T) renvoie : Textbox
Dim T As TextBox
Set T = Worksheets(1).Shapes("Zone de texte 1").OLEFormat.Object
a = TypeName(T)
T.Text = "denis"
Worksheets(1).Shapes("Zone de texte 1").Select
a = TypeName(Selection)
Selection.Text = "coucou"
Salutations!
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:uTi0MDP8DHA.1548@tk2msftngp13.phx.gbl...
Bonsoir Daniel,
Celle-là aussi fonctionne :
Worksheets(1).Shapes("Zone de texte 1").OLEFormat.Object.Text = "allo"
Salutations!
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de news:Ook4%23LN8DHA.1716@TK2MSFTNGP10.phx.gbl...
Merci (encore) Alain,
TextFrame!
C'est quand même spécial que, dans le cas où on sélectionne, on n'a pas besoin
d'invoquer explicitement cette attribut mais bon, ça résoud mon interrogation
fondamentale (une question existentielle de moins) :-)
Salutations,
Daniel M.
"Alain CROS" <Personne@ICI> wrote in message
news:Oy5ItvM8DHA.2540@TK2MSFTNGP11.phx.gbl...
Bonjour.
Les shapes sont assez compliqués.
Il faut écrire :
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.Text "Allo le monde"
Doit-on sélectionner une zone de texte ou non ? Voici un exemple de code illustrant les 2 façons de faire :
'Sans sélectionner la zone de texte 'à remarquer que dans les 2 procédures que cette 'ligne de code : a = TypeName(T) renvoie : Textbox
Dim T As TextBox Set T = Worksheets(1).Shapes("Zone de texte 1").OLEFormat.Object a = TypeName(T) T.Text = "denis"
Worksheets(1).Shapes("Zone de texte 1").Select a = TypeName(Selection) Selection.Text = "coucou"
Salutations!
"michdenis" a écrit dans le message de news: Bonsoir Daniel,
Celle-là aussi fonctionne :
Worksheets(1).Shapes("Zone de texte 1").OLEFormat.Object.Text = "allo"
Salutations!
"Daniel.M" a écrit dans le message de news:Ook4% Merci (encore) Alain,
TextFrame!
C'est quand même spécial que, dans le cas où on sélectionne, on n'a pas besoin d'invoquer explicitement cette attribut mais bon, ça résoud mon interrogation fondamentale (une question existentielle de moins) :-)
Salutations,
Daniel M.
"Alain CROS" wrote in message news:
Bonjour.
Les shapes sont assez compliqués. Il faut écrire : Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.Text "Allo le monde"
Alain CROS.
Bernard Rey
Doit-on sélectionner une zone de texte ou non ? Voici un exemple de code illustrant les 2 façons de faire :
Est-ce parce que j'utilise Excel 2000 ? En tout cas, aucune de ces méthodes ne fonctionne :
Dim T As TextBox Set T = Worksheets(1).Shapes("MaZone").OLEFormat.Object
Là, j'obtiens une "Incompatibilité de type" !
a = TypeName(T) T.Text = "denis"
Worksheets(1).Shapes("MaZone").Select
Cette fois, la Zone de Texte est bien sélectionnée
a = TypeName(Selection)
Réponse : a = "OLEObject" (jusqu'ici tout va bien)
Selection.Text = "coucou"
Message "Propriété ou Méthode non gérée par cet objet", bref, comme d'hab :-/
Note : cette syntaxe est tout de même étonnante, puisque "TextBox1" est le nom effectif du contrôle. Il semble impossible de le remplacer par une variable, comme ici (échec garanti chez moi) :
Mais bon, c'est juste la curiosité. Au moins j'arrive à faire remplir le formulaire en automatique, maintenant, je ne vais pas me plaindre, c'était tout de même le but...
Encore merci à tous les intervenants, et toutes mes excuses pour mon insistance naïve...
-- Bernard Rey - Toulouse
Doit-on sélectionner une zone de texte ou non ? Voici un
exemple de code illustrant les 2 façons de faire :
Est-ce parce que j'utilise Excel 2000 ? En tout cas,
aucune de ces méthodes ne fonctionne :
Dim T As TextBox
Set T = Worksheets(1).Shapes("MaZone").OLEFormat.Object
Là, j'obtiens une "Incompatibilité de type" !
a = TypeName(T)
T.Text = "denis"
Worksheets(1).Shapes("MaZone").Select
Cette fois, la Zone de Texte est bien sélectionnée
a = TypeName(Selection)
Réponse : a = "OLEObject" (jusqu'ici tout va bien)
Selection.Text = "coucou"
Message "Propriété ou Méthode non gérée par cet objet",
bref, comme d'hab :-/
Note : cette syntaxe est tout de même étonnante, puisque
"TextBox1" est le nom effectif du contrôle. Il semble
impossible de le remplacer par une variable, comme ici
(échec garanti chez moi) :
Mais bon, c'est juste la curiosité. Au moins j'arrive à
faire remplir le formulaire en automatique, maintenant, je
ne vais pas me plaindre, c'était tout de même le but...
Encore merci à tous les intervenants, et toutes mes
excuses pour mon insistance naïve...
Note : cette syntaxe est tout de même étonnante, puisque "TextBox1" est le nom effectif du contrôle. Il semble impossible de le remplacer par une variable, comme ici (échec garanti chez moi) :
Mais bon, c'est juste la curiosité. Au moins j'arrive à faire remplir le formulaire en automatique, maintenant, je ne vais pas me plaindre, c'était tout de même le but...
Encore merci à tous les intervenants, et toutes mes excuses pour mon insistance naïve...
-- Bernard Rey - Toulouse
Alain CROS
Bonjour.
Essaye comme ça. Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).OLEFormat.Object.Object.Text = "NouvelleValeur"
Alain CROS.
"Bernard Rey" a écrit dans le message de news: e57f01c3f0ec$78f053f0$
Les shapes sont assez compliqués. Il faut écrire : Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.
Text = "Allo le monde"
Merci Alain, mais ça ne marche pas ça. C'est typiquement ce que j'ai tenté tout l'après-midi sans succès. J'ai invariablement la même réponse : "Propriété ou méthode non gérée par cet objet"... Ou alors il y a vraiment quelque chose qui m'échappe ! Mais quoi ???
-- Bernard Rey - Toulouse
"Daniel.M" a écrit dans le message de news: #
Claudy,
mais non...tu compliques sub test
TextBox1.Value = "Remplir le textbox" 'tout simplement :-)) end sub
Bernard ne remplit pas un TextBox mais une Shape.
Et il veut trouver le moyen de remplir le contenu de celle-ci en une seule instruction qui remplacerait les deux suivantes:
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).Select Selection.Characters.Text = "Allo le monde"
Alors que celle-ci échoue (faudrait qu'on m'explique à moi aussi) : Workbooks(Classeur).Sheets(Feuille) _ .Shapes(MaZone).Characters.Text = "Allo le monde"
En résumé, pourquoi devoir SELECTionner ?
Salutations,
Daniel M.
.
Bonjour.
Essaye comme ça.
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).OLEFormat.Object.Object.Text = "NouvelleValeur"
Alain CROS.
"Bernard Rey" <b.rey@PasDeSpam.mvps.org> a écrit dans le message de news: e57f01c3f0ec$78f053f0$a301280a@phx.gbl...
Les shapes sont assez compliqués.
Il faut écrire :
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.
Text = "Allo le monde"
Merci Alain, mais ça ne marche pas ça. C'est typiquement ce que j'ai tenté
tout l'après-midi sans succès. J'ai invariablement la même réponse :
"Propriété ou méthode non gérée par cet objet"... Ou alors il y a vraiment
quelque chose qui m'échappe ! Mais quoi ???
--
Bernard Rey - Toulouse
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message
de news: #FGGfHM8DHA.1816@TK2MSFTNGP12.phx.gbl...
Claudy,
mais non...tu compliques
sub test
TextBox1.Value = "Remplir le textbox" 'tout simplement :-))
end sub
Bernard ne remplit pas un TextBox mais une Shape.
Et il veut trouver le moyen de remplir le contenu de celle-ci en une seule
instruction qui remplacerait les deux suivantes:
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).Select
Selection.Characters.Text = "Allo le monde"
Alors que celle-ci échoue (faudrait qu'on m'explique à moi aussi) :
Workbooks(Classeur).Sheets(Feuille) _
.Shapes(MaZone).Characters.Text = "Allo le monde"
Essaye comme ça. Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).OLEFormat.Object.Object.Text = "NouvelleValeur"
Alain CROS.
"Bernard Rey" a écrit dans le message de news: e57f01c3f0ec$78f053f0$
Les shapes sont assez compliqués. Il faut écrire : Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).TextFrame.Characters.
Text = "Allo le monde"
Merci Alain, mais ça ne marche pas ça. C'est typiquement ce que j'ai tenté tout l'après-midi sans succès. J'ai invariablement la même réponse : "Propriété ou méthode non gérée par cet objet"... Ou alors il y a vraiment quelque chose qui m'échappe ! Mais quoi ???
-- Bernard Rey - Toulouse
"Daniel.M" a écrit dans le message de news: #
Claudy,
mais non...tu compliques sub test
TextBox1.Value = "Remplir le textbox" 'tout simplement :-)) end sub
Bernard ne remplit pas un TextBox mais une Shape.
Et il veut trouver le moyen de remplir le contenu de celle-ci en une seule instruction qui remplacerait les deux suivantes:
Workbooks(Classeur).Sheets(Feuille).Shapes(MaZone).Select Selection.Characters.Text = "Allo le monde"
Alors que celle-ci échoue (faudrait qu'on m'explique à moi aussi) : Workbooks(Classeur).Sheets(Feuille) _ .Shapes(MaZone).Characters.Text = "Allo le monde"
En résumé, pourquoi devoir SELECTionner ?
Salutations,
Daniel M.
.
Bernard Rey
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 ;-)
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
michdenis
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.
Salutations!
"Bernard Rey" a écrit dans le message de news:eeef01c3f148$83f3fb10$
Doit-on sélectionner une zone de texte ou non ? Voici un exemple de code illustrant les 2 façons de faire :
Est-ce parce que j'utilise Excel 2000 ? En tout cas, aucune de ces méthodes ne fonctionne :
Dim T As TextBox Set T = Worksheets(1).Shapes("MaZone").OLEFormat.Object
Là, j'obtiens une "Incompatibilité de type" !
a = TypeName(T) T.Text = "denis"
Worksheets(1).Shapes("MaZone").Select
Cette fois, la Zone de Texte est bien sélectionnée
a = TypeName(Selection)
Réponse : a = "OLEObject" (jusqu'ici tout va bien)
Selection.Text = "coucou"
Message "Propriété ou Méthode non gérée par cet objet", bref, comme d'hab :-/
Note : cette syntaxe est tout de même étonnante, puisque "TextBox1" est le nom effectif du contrôle. Il semble impossible de le remplacer par une variable, comme ici (échec garanti chez moi) :
Mais bon, c'est juste la curiosité. Au moins j'arrive à faire remplir le formulaire en automatique, maintenant, je ne vais pas me plaindre, c'était tout de même le but...
Encore merci à tous les intervenants, et toutes mes excuses pour mon insistance naïve...
-- Bernard Rey - Toulouse
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.
Salutations!
"Bernard Rey" <b.rey@PasDeSpam.mvps.org> a écrit dans le message de news:eeef01c3f148$83f3fb10$a001280a@phx.gbl...
Doit-on sélectionner une zone de texte ou non ? Voici un
exemple de code illustrant les 2 façons de faire :
Est-ce parce que j'utilise Excel 2000 ? En tout cas,
aucune de ces méthodes ne fonctionne :
Dim T As TextBox
Set T = Worksheets(1).Shapes("MaZone").OLEFormat.Object
Là, j'obtiens une "Incompatibilité de type" !
a = TypeName(T)
T.Text = "denis"
Worksheets(1).Shapes("MaZone").Select
Cette fois, la Zone de Texte est bien sélectionnée
a = TypeName(Selection)
Réponse : a = "OLEObject" (jusqu'ici tout va bien)
Selection.Text = "coucou"
Message "Propriété ou Méthode non gérée par cet objet",
bref, comme d'hab :-/
Note : cette syntaxe est tout de même étonnante, puisque
"TextBox1" est le nom effectif du contrôle. Il semble
impossible de le remplacer par une variable, comme ici
(échec garanti chez moi) :
Mais bon, c'est juste la curiosité. Au moins j'arrive à
faire remplir le formulaire en automatique, maintenant, je
ne vais pas me plaindre, c'était tout de même le but...
Encore merci à tous les intervenants, et toutes mes
excuses pour mon insistance naïve...
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.
Salutations!
"Bernard Rey" a écrit dans le message de news:eeef01c3f148$83f3fb10$
Doit-on sélectionner une zone de texte ou non ? Voici un exemple de code illustrant les 2 façons de faire :
Est-ce parce que j'utilise Excel 2000 ? En tout cas, aucune de ces méthodes ne fonctionne :
Dim T As TextBox Set T = Worksheets(1).Shapes("MaZone").OLEFormat.Object
Là, j'obtiens une "Incompatibilité de type" !
a = TypeName(T) T.Text = "denis"
Worksheets(1).Shapes("MaZone").Select
Cette fois, la Zone de Texte est bien sélectionnée
a = TypeName(Selection)
Réponse : a = "OLEObject" (jusqu'ici tout va bien)
Selection.Text = "coucou"
Message "Propriété ou Méthode non gérée par cet objet", bref, comme d'hab :-/
Note : cette syntaxe est tout de même étonnante, puisque "TextBox1" est le nom effectif du contrôle. Il semble impossible de le remplacer par une variable, comme ici (échec garanti chez moi) :
Mais bon, c'est juste la curiosité. Au moins j'arrive à faire remplir le formulaire en automatique, maintenant, je ne vais pas me plaindre, c'était tout de même le but...
Encore merci à tous les intervenants, et toutes mes excuses pour mon insistance naïve...
2 fois Object!?! Taboire! Il va me falloir un cours sur la hierarchie des objets Excel! Surtout en ce qui concerne les Shapes.
Merci bien,
Daniel M.
Alain CROS
Bonjour.
Comme je le disais, les shapes sont assez compliqués. Pour le cours, je crois qu'il faudra encore attendre. Apparemment, les objets OLE issus de la barre d'outils Commande sont tous rassemblés dans un seul objet comportant de nombreux sous objets.
2 fois Object!?! Taboire! Il va me falloir un cours sur la hierarchie des objets Excel! Surtout en ce qui concerne les Shapes.
Merci bien,
Daniel M.
Bonjour.
Comme je le disais, les shapes sont assez compliqués.
Pour le cours, je crois qu'il faudra encore attendre.
Apparemment, les objets OLE issus de la barre d'outils Commande sont tous rassemblés dans un seul objet comportant de nombreux sous
objets.
Par contre, Taboire ?, c'est un HS spécial JPS ?
Alain CROS.
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de news: uEnR9sW8DHA.2608@TK2MSFTNGP10.phx.gbl...
Comme je le disais, les shapes sont assez compliqués. Pour le cours, je crois qu'il faudra encore attendre. Apparemment, les objets OLE issus de la barre d'outils Commande sont tous rassemblés dans un seul objet comportant de nombreux sous objets.