resolu ; remplir une page d'userform

MIRALLE

XLDnaute Nouveau
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
 

Pièces jointes

  • multipage 2-1.xlsm
    46.8 KB · Affichages: 26
Dernière modification par un modérateur:

job75

XLDnaute Barbatruc
Re : remplir une page d'userform

Bonsoir MIRALLE,

je vous remercie infiniment pour n'importe quelle idee

En voici.

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
Bonne nuit.
 
Dernière édition:

MIRALLE

XLDnaute Nouveau
Re : remplir une page d'userform

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
 

Pièces jointes

  • multipage 2.xlsm
    46.8 KB · Affichages: 52
Dernière modification par un modérateur:

job75

XLDnaute Barbatruc
Re : remplir une page d'userform

Bonjour MIRALLE, le forum,

svp job75 il me reste un dernier probleme si je veux faire la meme chose dans une deuxieme et troisieme page

1ère solution :

- vous donnez 3 noms à chacun des 2 tableaux :

A => APage1 APage2 APage3

B => BPage1 BPage2 BPage3

- vous nommez les TextBoxes avec les lettres adaptées APage1_1_1 APage2_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.

Bonne journée.
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : remplir une page d'userform

Re,

Bah voici une 3ème solution, bien plus simple :

- vous nommez vos 2 tableaux A et B

- vous ne modifiez pas les noms des TextBoxes

- pas contre vous donnez à leur propriété Tag les valeurs A,1,1 A,2,1... B,1 B,2...

Si comme ici le tableau B n'a qu'une colonne il est inutile d'indiquer son numéro.

La page n'a plus aucune importance.

Le code devient :

Code:
Private Sub UserForm_Initialize()
Dim c As Control
For Each c In Controls
  If c.Tag Like "*,*" Then c = Evaluate("INDEX(" & c.Tag & ")")
Next
End Sub
ou plus simplement, si seules les TextBoxes ont leur propriété Tag renseignée :

Code:
Private Sub UserForm_Initialize()
Dim c As Control
For Each c In Controls
  If c.Tag <> "" Then c = Evaluate("INDEX(" & c.Tag & ")")
Next
End Sub
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 992
Membres
104 000
dernier inscrit
dinelcia