Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
747 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Incrémenter le nom d'une textbox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Incrémenter le nom d'une textbox

n°1892547
tranceorbi​tale
Posté le 08-06-2009 à 14:35:13  profilanswer
 

Bonjour, j'ai une liste de textbox dans une userform dont la valeur est récupérée dans une feuille excel.
Je souhaiterais créer une boucle avec une variable i pour être quite de recopier X fois la même ligne.
 
Est ce que c'est possible d'incrémenter le TextBox avec la variable i ?
 
Livraison.TextBox1.Text = Sheets("Stock" ).Cells(12, 8)
Livraison.TextBox2.Text = Sheets("Stock" ).Cells(13, 8)
Livraison.TextBox3.Text = Sheets("Stock" ).Cells(14, 8)
Livraison.TextBox4.Text = Sheets("Stock" ).Cells(15, 8)
Livraison.TextBox5.Text = Sheets("Stock" ).Cells(16, 8)
 

mood
Publicité
Posté le 08-06-2009 à 14:35:13  profilanswer
 

n°1892635
Ctplm
Posté le 08-06-2009 à 16:14:54  profilanswer
 


Hi,
 

Code :
  1. For i = 1 To 5
  2. Livraison.Controls("Textbox" & i).Text = Sheets("Stock" ).Cells(11 + i, 8)
  3. Next i


 
Pas testé mais ça devrait pouvoir t'aider.


---------------
"That kind of information doesn't just grow on trees."
n°1892639
Turkleton
I don't quite understand you
Posté le 08-06-2009 à 16:20:24  profilanswer
 

Tu peux utiliser une boucle "For Each" et passer en revue tous tes contrôles, en faisant des tests pour voir par exemple si le nom commence par "TextBox" et en récupérant le numéro de ton TextBox.
 

Code :
  1. Dim lecontrole as Control
  2. Dim i as Integer
  3. For Each lecontrole in Controls
  4.   If Left(lecontrole.Name, 7) = "TextBox" Then
  5.     i = Right(lecontrole.Name, 1)
  6.     lecontrole.Text=Sheets("Stock" ).Cells(i + 11, 8)
  7.   End If
  8. next


Sinon, je sais qu'en Access on peut directement "composer" le nom d'un contrôle avec par exemple "Me.Controls("TextBox" & i)", i étant une variable. C'est pas très académique mais ça fonctionne. Après, reste à voir si c'est possible sur Excel.
 
EDIT : Rhaaa, le grillaid en beauté (mais qui répond à ma dernière question  :D )


Message édité par Turkleton le 08-06-2009 à 16:21:24

---------------
If you think it could look good, then I guess it should
n°1892658
Ctplm
Posté le 08-06-2009 à 16:49:34  profilanswer
 

:D


---------------
"That kind of information doesn't just grow on trees."
n°1892961
tranceorbi​tale
Posté le 09-06-2009 à 09:29:22  profilanswer
 

Ctplm a écrit :


Hi,
 

Code :
  1. For i = 1 To 5
  2. Livraison.Controls("Textbox" & i).Text = Sheets("Stock" ).Cells(11 + i, 8)
  3. Next i


 
Pas testé mais ça devrait pouvoir t'aider.


 
Super merci c'était exactement ce dont j'avais besoin  :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Incrémenter le nom d'une textbox

 

Sujets relatifs
problem textbox en VBARécupérer texte Textbox dynamique en VBA
text combobox et textbox[SOLUCE INCLUE] Comment forcer des nombres dans un TEXTBOX ?
[ VB6 ] Enregistrer Données ( combobox.txt, textbox.txt ) sous EXCEL[RESOLU] asp .net c# textbox: modifier le contenu?
incrémenter un champs dans une table via un boutonVBA problème de saisie dans Textbox
[VBA] Sélectionner une TextBoxDans une TextBox, saisie uniquement numérique...
Plus de sujets relatifs à : Incrémenter le nom d'une textbox


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR