Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA: comment remplir des TextBox en boucle

  • Initiateur de la discussion Initiateur de la discussion Mod77
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Mod77

Guest
Bonjour,

voila mon problème:

Je fais une application sous Excel 2002 en vba
et je n'arrive pas à remplir des TexBox dans une boucle que voici:

For i = 1 To 4
Controls("TextBox" & i).Value = Cells(i, 2).Value
Next

J'ai essayé aussi: TextBox & i = Cells(i, 2).Value
en vain.

Quelqu'un peut-il m'aider SVP? Merci.
 
Re : VBA: comment remplir des TextBox en boucle


Bonjour

essayer ceci

Code:
For i = 1 To 4
     Me.Controls("TextBox" & i).Text =Cells(i, 2).Value 
Next i
 
Re : VBA: comment remplir des TextBox en boucle

Bonsoir.
Me. fait reference a l'user actif
Ce n'est pas exact: Si un userform se masque par sa méthode Hide il n'est plus actif, et si du code est exécuté derrière, Me y représente quand même toujours encore cet userform. Me représente l'objet auquel est attaché le code qui l'emploie.

P.S. Pour ce qui est de la demande initiale (sans pièce jointe ce qui nous fait perdre beaucoup de temps), je suis pour l'instant fondé à supposer qu'il manque dans son userform au moins un des contrôles dont le nom commence par "TextBox".
Cordialement
 
Dernière édition:
Re : VBA: comment remplir des TextBox en boucle

Bonjour à tous,

J'ai déjà essayé tout cela et ça ne fonctionne pas.
Mais je constate que vous faites référence à un userform, mais moi je n'en ai pas créé. J'ai placé mes TextBox sur une feuille directement. Est-ce que ça change quelque chose ?

Pourtant, lorsque je remplace :
Controls("TextBox" & i).Value = Cells(i, 2).Value
par
TextBox1.value =Cells(i,2).Value

ça marche mais sans incrément bien sûr!

Je ne sais plus quoi faire...
 
Re : VBA: comment remplir des TextBox en boucle

Re,

@ Dranreb, Merci de ta précision. Est ce donc quelque chose qui se situe au biveau du langage, tel que Range ou Cells, si je comprends bien.
Amicalement
 
Re : VBA: comment remplir des TextBox en boucle

Calvus
Non, pas du tout: Range et Cells sont des méthodes particulières d'Excel, elles ne font pas partie intégrante du langage.
Tandis que Me est un mot clé VBA.

Mod77
Eh ben voilà ! Comment vouliez vous qu'on devine ça sans pièce jointe ?
Un objet Worksheet ne possède pas de collection Controls. En revanche il possède une collection OLEObjects
Attention: il se peut que le contrôle proprement dit soit une propriété de chaque éléments, je ne sais pas, je n'utilise guère les contrôles dans les feuilles Excel. En tout cas jamais en nombre suffisant pour justifier un traitement à la chaîne de ce genre.

À +
 
Dernière édition:
Re : VBA: comment remplir des TextBox en boucle

Dranreb,
Je ne maîtrise pas encore le langage, je te l'avais déjà dit d'ailleurs. Mais maintenant c'est clair. Merci.
Au fait, quel mot aurais-je pu par exemple utiliser pour illustrer ma question ? A la place de Range ou Cells...Sub, Select ?
 
Re : VBA: comment remplir des TextBox en boucle

Je voulais dire que Me faisait bien partie du code vba, comme je le supposais, Sub ou Select. Ou en d'autres termes, quels sont les mots clés VBA ? Je vais chercher ça. Merci
A+
 
Re : VBA: comment remplir des TextBox en boucle

re;un exemple avec 2 userforms un avec textbox 1=10 l'autre avec textbox1=20 un bouton sur chaque user pour mettre en hide...hide ne decharge en memoire et pourtant ME. fera bien reference a l'user actif je rappel user1 j'ai bien 10 l'autre j'ai bien 20
 

Pièces jointes

Re : VBA: comment remplir des TextBox en boucle

Désolé Dranreb mais le code que j'ai écris était simple, je ne pensais pas que cela nécessitais l'envoi d'une pièce jointe, d'autant que je n'ai pas fait référence à un userform puisque je ne savais pas que c'était nécessaire.

Je vous remercie à tous de votre aide.

voici ce que j'ai trouvé sur le net et qui répond au problème:

Dim ctrl As OLEObject
For i = 1 To 4
Set ctrl = ActiveSheet.OLEObjects("TextBox" & i)
ctrl.Object.Value = Cells(i, 2).Value
Next

merci encore.

 
Re : VBA: comment remplir des TextBox en boucle

Je voulais dire que Me faisait bien partie du code vba, comme je le supposais, Sub ou Select
Comment ça "code" VBA ? Tout ce qui est dans le code fait partie du code ! Du langage VBA plutôt ?
Select n'en fait pas partie: c'est une méthode.
Sub est une instruction. Tout cela se trouve aisément dans l'aide à partir du sommaire, Visual Basic - Manuel de référence du langage.
Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
910
Réponses
15
Affichages
784
Réponses
2
Affichages
145
Réponses
2
Affichages
527
Réponses
8
Affichages
780
Réponses
5
Affichages
573
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…