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......
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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......
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 à 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.....????
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.....????
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.....????
..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
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.....????
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.....????
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.....????
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.....????
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.....????
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.....????
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.....????
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.....????
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.....????