Bonjour
Toujours un pb avec mes userform
Lorsque que je lance mon formulaire les cases ne se remplissent pas toutes
je me suis basé sur un précédèrent pb qui a été réglé super rapidement par un personne du forum
Je cherche mais voila je dois passé a cote du probleme
Bonjour GDINFO,
Il y a plusieurs problèmes :
1- Le premier TextBox est TextBox6 et non TextBox1 donc il faut faire : Me.Controls("TextBox" & I + 4)
2- C'est ballot mais les textbox ne sont pas dans l'ordre par ex TextBox16 est avant TextBox15
3- Le dernier indice doit être 14 pour I pour parcouror toutes les colonnes.
Donc ça donne comme modifs :
VB:
With Sheets("Atelier Classe")
For I = 2 To 14
Me.Controls("TextBox" & I + 4) = .Cells(Myvar, I)
Next
End With
Bonjour
et si tu mettais tes texbox dans l'ordre, cela fonctionnerait beaucoup mieux
En plus il y a des textbox qui sont à l'extérieurs de l'userform( 1 à 5)etit cachotier !
(clic de droit sur l'userform et sélectionnet tout et tu constateras qu'il il y a des objets en haut de l'userform.
J'ai remis de l'ordre .
essayes de comprendre la macro , pour ensuite modifier.
La boucle fait"tourner" les textbox de 2 à 13
Si tu met les textbox dans le mauvais ordre tu auras des données ne correspondant pas
Et les ligne de 3 à 14
d'ou le I+1
Bonjour GDINFO,
Il y a plusieurs problèmes :
1- Le premier TextBox est TextBox6 et non TextBox1 donc il faut faire : Me.Controls("TextBox" & I + 4)
2- C'est ballot mais les textbox ne sont pas dans l'ordre par ex TextBox16 est avant TextBox15
3- Le dernier indice doit être 14 pour I pour parcouror toutes les colonnes.
Donc ça donne comme modifs :
VB:
With Sheets("Atelier Classe")
For I = 2 To 14
Me.Controls("TextBox" & I + 4) = .Cells(Myvar, I)
Next
End With
Il suffit de dupliquer la macro et de l'adapter en conséquence :
VB:
Private Sub TextBox7_AfterUpdate()
Dim Myvar$
On Error Resume Next
Myvar = ""
Myvar = Application.WorksheetFunction _
.Match(TextBox7, Worksheets("Atelier Classe").Range("C1:C65536"), 0)
If Myvar = "" Then
MsgBox "Nom inexistant."
On Error GoTo 0
Exit Sub
End If
On Error GoTo 0
With Sheets("Atelier Classe")
For I = 2 To 14
Me.Controls("TextBox" & I + 4) = .Cells(Myvar, I)
Next
End With
End Sub
Il suffit de dupliquer la macro et de l'adapter en conséquence :
VB:
Private Sub TextBox7_AfterUpdate()
Dim Myvar$
On Error Resume Next
Myvar = ""
Myvar = Application.WorksheetFunction _
.Match(TextBox7, Worksheets("Atelier Classe").Range("C1:C65536"), 0)
If Myvar = "" Then
MsgBox "Nom inexistant."
On Error GoTo 0
Exit Sub
End If
On Error GoTo 0
With Sheets("Atelier Classe")
For I = 2 To 14
Me.Controls("TextBox" & I + 4) = .Cells(Myvar, I)
Next
End With
End Sub