bonsoir a tous
je dis merci pour tout le monde
merci et grand respect a toute personne peut me donner d'aide pour que je puisse continuer ce travail
je veux afficher les donnees dans la feuille DATABASE dans unerform1 page1..
tandisque les textboxs jaunes d'usf ( SENIOR ) se remplissent par les donnees dans la feuille "SOURCE" comme indique le fichier ci joint avec deux images
je vous remercie infiniment pour n'importe quelle idee
MIRALLE
1) Nommez A le tableau en feuille DATABASE, B le tableau en feuille SOURCE.
2) Renommez toute les TextBoxes avec des noms comme A_2_3 ou B_2_1 correspondant à l'item du tableau :
- la lettre A ou B est bien sûr le nom du tableau
- le 1er chiffre est le numero de ligne dans le tableau (1 => 1ère ligne du tableau)
- le 2ème chiffre est le numéro de colonne dans le tableau (1 => 1ère colonne du tableau) .
Quand ce travail (fastidieux) aura été fait mettez dans le code de l'UserForm :
Code:
Private Sub UserForm_Initialize()
Dim c As Control
For Each c In Me.Controls
If c.Name Like "*_*" Then c = Evaluate("INDEX(" & Replace(c.Name, "_", ",") & ")")
Next
End Sub
bonsoir job75
grand merci a vous .vous m'avez fais un grand bienfait.merci vous m'avez diriger vers ma bonheur
merci merci merci
svp job75 il me reste un dernier probleme si je veux faire la meme chose dans une deuxieme et troisieme page comment changer dans ce merveilleux code parceque j'ai pas pu donner les meme noms au meme textbox dans les differentes pages.
grand merci encore
MIRALLE
- vous nommez les TextBoxes avec les lettres adaptées APage1_1_1APage2_1_1
- le code de l'UserForm reste le même qu'au post #2.
2ème solution :
- vous ajoutez un chiffre aux noms des TextBoxes A_1_1_1 pour Page1 A_1_1_2 pour Page2 etc
- pour le code :
Code:
Private Sub UserForm_Initialize()
Dim c As Control, s
For Each c In Me.Controls
If c.Name Like "*_*" Then
s = Split(c.Name, "_")
c = Evaluate("INDEX(" & s(o) & "," & s(1) & "," & s(2) & ")")
End If
Next
End Sub
Edit : ce code peut fonctionner aussi pour la 1ère solution.