Remplissage textbox à partir de cellules

Cougar

XLDnaute Impliqué
Bonjour,

Lorsque l'userform apparaît, tous les textbox doivent avoir leur valeur provenant des cellules Z3:Z22.

Voici le code mais il ne fonctionne pas. :(

Sub Bouton2_Clic()
Dim tabtemp As Variant
Dim O As Integer

With Worksheets("Feuil1")
O = .Range("z22").End(xlUp).Column
tabtemp = .Range("z3:z22" & O).Value
End With


For i = 1 To 20
TextBox1 = tabtemp(O, 0)
TextBox2 = tabtemp(O, 1)
TextBox3 = tabtemp(O, 2)
TextBox4 = tabtemp(O, 3)
TextBox5 = tabtemp(O, 4)
TextBox6 = tabtemp(O, 5)
TextBox7 = tabtemp(O, 6)
TextBox8 = tabtemp(O, 7)
TextBox9 = tabtemp(O, 8)
TextBox10 = tabtemp(O, 9)
TextBox11 = tabtemp(O, 10)
TextBox12 = tabtemp(O, 11)
TextBox13 = tabtemp(O, 12)
TextBox14 = tabtemp(O, 13)
TextBox15 = tabtemp(O, 14)
TextBox16 = tabtemp(O, 15)
TextBox17 = tabtemp(O, 16)
TextBox18 = tabtemp(O, 17)
TextBox19 = tabtemp(O, 18)
TextBox20 = tabtemp(O, 19)
Next i

UserForm1.Show
End Sub

Quel est le problème.

Merci de votre aide
 

Staple1600

XLDnaute Barbatruc
Re : Remplissage textbox à partir de cellules

Bonjour


Le problème vient du fait qu'il y a plusieurs problèmes
Voici le premier

Code:
With Worksheets("Feuil1")
      O = .Range("z22").End(xlUp).Column
    tabtemp = .Range("z3:z22" & O).Value
End With

Je t'indiquerai le second après mon petit dej ;)
 

Dull

XLDnaute Barbatruc
Re : Remplissage textbox à partir de cellules

Salut Cougar, Re Staple:) et BonApp, le Forum

Ici peut-être le second
Remplacer

Code:
For i = 1 To 20
       TextBox1 = tabtemp(O, 0)
       TextBox2 = tabtemp(O, 1)
       TextBox3 = tabtemp(O, 2)
       TextBox4 = tabtemp(O, 3)
       TextBox5 = tabtemp(O, 4)
       TextBox6 = tabtemp(O, 5)
       TextBox7 = tabtemp(O, 6)
       TextBox8 = tabtemp(O, 7)
       TextBox9 = tabtemp(O, 8)
       TextBox10 = tabtemp(O, 9)
       TextBox11 = tabtemp(O, 10)
       TextBox12 = tabtemp(O, 11)
       TextBox13 = tabtemp(O, 12)
       TextBox14 = tabtemp(O, 13)
       TextBox15 = tabtemp(O, 14)
       TextBox16 = tabtemp(O, 15)
       TextBox17 = tabtemp(O, 16)
       TextBox18 = tabtemp(O, 17)
       TextBox19 = tabtemp(O, 18)
       TextBox20 = tabtemp(O, 19)
    Next i
Par
Code:
[COLOR=BLUE]With[/COLOR] Userform1
    [COLOR=BLUE]For[/COLOR] i = 1 [COLOR=BLUE]To[/COLOR] 20
        .Controls("TextBox" & i) = tabtemp(O, i - 1)
    [COLOR=BLUE]Next[/COLOR] i
    .Show
[COLOR=BLUE]End With[/COLOR]
ce serait plus judicieux mais ne voyant pas la configuration de ton fichier

Bonne Journée
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Remplissage textbox à partir de cellules

Re


Entre deux biscottes

A titre d'illustration

VB:
Sub a()
Dim tabtemp, O&, i&, j&
With Worksheets("Feuil1")
'création de données de test
    With [A1:C10]
        .Formula = "=ROW()*COLUMN()"
        .Value = .Value
    End With
'fin  données de test
O = .Range("A10").End(xlToRight).Column
MsgBox .Range("A1:A10").Resize(, O).Address
tabtemp = .Range("A1:A10").Resize(, O).Value
End With

For i = LBound(tabtemp, 1) To UBound(tabtemp, 1)
    For j = LBound(tabtemp, 2) To UBound(tabtemp, 2)
        MsgBox tabtemp(i, j)
    Next j
Next i
End Sub
PS: bonjour Dull, bonjour JNP
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Remplissage textbox à partir de cellules

Salut Cougar, Jean-Marie :),
Euh, il y a plus de problèmes que de choses justes :p
Code:
Private Sub CommandButton2_Click()
Dim TabTemp
Dim I As Integer
With Worksheets("Feuil1")
Set TabTemp = .Range("z3:z22")
End With
For I = 1 To 20
Me.Controls("TextBox" & I) = TabTemp(I)
Next I
End Sub
fonctionne :D.
Le nom de la Sub est étrange, mais bon...
Code:
O = .Range("z22").End(xlUp).Column
Tu pointes sur Z22, tu vas vers le haut, et tu récupères la valeur de la colonne :confused: ??? Et pourquoi faire, tu sait que ce sera forcément Z...
Code:
tabtemp = .Range("z3:z22" & O).Value
Pour affecter des Range à un tableau, il faut utiliser Set, et surtout pas Value :rolleyes:... De plus, avec ton O, ça donne Z3:Z2226...
Code:
For i = 1 To 20
Ne sert à rien vu que tu n'utilises pas I (sauf en l'utilisant comme ci-dessus ;)).
Code:
TextBox1 = tabtemp(O, 0)
va chercher dans un tableau à 2 dimension 26 et 0, alors que tu as un tableau à 1 dimension contenant Z3:Z22 :eek:.
Staple1600 à dit:
Je t'indiquerai le second après mon petit dej ;)
Bon appétit :D
Bon courage :cool:
Ajout : Salut Dull ;).
JM, je t'ai déjà dit, pas de biscotte sur le clavier :p
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Remplissage textbox à partir de cellules

Re


JNP, si en plus tu rajoutes des problèmes ;)
EDITION ( des problèmes à mes habitudes d'écritute "vbéale" , car oui je l'avoue le code de JNP tel quel fonctionne mais il perturbe les fondements de ma culture Excelienne )
/FIN EDITION
VB:
Private Sub CommandButton1_Click() 
Dim TabTemp
Dim I As Long
With Worksheets("Feuil1")
TabTemp = .Range("A1:A5").Value
End With
MsgBox TabTemp(1, 1)
For I = 1 To 5
Me.Controls("TextBox" & I) = TabTemp(I, 1)
Next I
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Remplissage textbox à partir de cellules

Re

JNP

Ah bah pour moi, qui suis habitué au classicisme , ta manière d'écrire ton VBA m'étonne
J'ai appris cette forme de syntaxe
Code:
Dim toto As range
Set toto=[A1:A5]
Code:
Dim toto
toto=Array(1,2,3,4)
Désolé :eek:

PS
: Non mon code ne plante pas
(Je viens de m'amuser un créer un Userform avec 5 textbox juste pour tester
J'ai même sacrifier mon petit déjà pour cela.

Quand à ma voisine , je n'ose imaginé l'état de sa langue vu son âge ;)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 887
Messages
2 093 309
Membres
105 685
dernier inscrit
Askascii