[VBA] Comment remplir des textbox en série

Résolu
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 - 27 oct. 2012 à 13:50
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 30 oct. 2012 à 14:26
Bonjour,
je ne suis pas sur d'avoir choisi le bon thème
mais 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.

7 réponses

Utilisateur anonyme
27 oct. 2012 à 18:08
Bonjour,

Les controls sont dans la collection OLEObjects de ta feuille

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


_____________
Kenji
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 oct. 2012 à 14:33
Bonjour,
Tu ne développes donc pas sous :
Forum > VB.NET et VB 2005

qui n'a absolument rien à voir avec la section Langages dérivés > VBA, dans laquelle tu aurais du ouvrir la présente discussion
Veux-tu bien en prendre bonne note pour tes prochaines discussions VBA ?
C'est très important. La preuve ? ===>>
Sous VB.Net, tes textboxes se trouverait dans un container Form ou Panel.
Sous VBA, elle pourrait être également mise sur une feuille de calcul, hein !!!...
Il se trouve que le code montré ne peut que marcher, sous VBA/Excel, si les textboxes sont sur un UserForm.
Mais ce n'est pas la même syntaxe si sur une feuille de calcul.
Et tu ne nous a absolument rien dit quant à leur location ...


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024
27 oct. 2012 à 15:44
Désolé pour mon intrusion dans la mauvaise rubrique. je prends note! Je n'avais pas trouvé la rubrique vba dans toutes ces rubriques, alors j'ai choisi au hasard.
Faut-il que je transfert mon poste immédiatement ?
Sinon, j'ai mis mes texbox sur 1 feuille excel.

merci.
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024
27 oct. 2012 à 19:37
Bonjour très cher Charles Racaud,

Vous êtes mon héro! Merci beaucoup pour ce code que je cherche depuis 2 jours.

Merci à tous de votre aide!

Bonne soiré et bonnes vacances!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 oct. 2012 à 21:41
Verux-tu bien cliquer sur le tag Réponse Acceptée (au niveau de la réponse de Charles Racaud) et ainsi libérer ce sujet ? Merci de respecter cette autre règle.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
adjovi7 Messages postés 5 Date d'inscription mardi 13 juillet 2010 Statut Membre Dernière intervention 30 octobre 2012
30 oct. 2012 à 14:00
Bonjour,
j'ai un gros souci d'amateur vba je m'explique j'ai des colonnes qui correspond a des mois et des lignes a des actions courantes j'aimerais avec la méthode ListBox1.AddItem et Find afficher le nombre d'action selon le mois rechercher avec un textbox mon souci j'arrive a afficher le mois mais pas la plage de cellule just en dessous qui correspond au nombre d'action ci joint mon code
Quelqu'un peut-il m'aider SVP? Merci.

Private Sub CmdChercher_Click()
Dim fs As Worksheet
Dim Plage As Range, Cell As Range
Dim Recherche As String, Adresse As String
Dim Ligne As Variant
Dim C As Object
Dim i As Byte

ListBox1.Clear
Set fs = Sheets("SUIVI 2012")
Recherche = TextBox1
If Recherche = "" Then Exit Sub

For Each WS In Worksheets
Ligne = Worksheets(fs.Name).Range("" & "B" & "65536").End(xlUp).Row

Set Plage = Worksheets(fs.Name).Range("" & "B" & "1:" & "D" & Ligne)
With Plage
Set C = .Find(Recherche)
If Not C Is Nothing Then
Adresse = C.Address
i = 0
Do
ListBox1.AddItem "Ligne" & i
ListBox1.List(i, 0) = C.Value
ListBox1.List(i, 1) = C.Offset(0, 1).Value
ListBox1.List(i, 2) = C.Offset(0, 2).Value
ListBox1.List(i, 3) = C.Offset(0, 3).Value
ListBox1.List(i, 4) = C.Offset(0, 4).Value
i = i + 1
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> Adresse
ListBox1.ColumnWidths = "2cm" & ";" & "2cm" & ";" & "2cm"

End If
End With
Next WS
End Sub
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 oct. 2012 à 14:26
Il faudrait que tu ouvres un nouveau sujet dans la section VBA

Ce sujet ne concerne pas ta question et a déjà été répondu...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous