Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Afficher tableau sur userform

Appo1985

XLDnaute Occasionnel
Bonjour et excellente dimanche à tous.
Je voudrais de l’aide pour pouvoir afficher les données de mon tableau qui se trouve sur la feuille « TAB » au niveau du Userform selon le choix de Combobox1.
L’ordre des contrôles étant : Combobox1, Textbox1, Textbox2, Label1, Textbox3, Textbox4, Label2 puis de Label30 à Label41.
ci-joint le fichier.
Merci par avance.
 

Pièces jointes

  • AFFICHER DANS USERFORM.xlsm
    18.8 KB · Affichages: 8

Phil69970

XLDnaute Barbatruc
Bonjour @Appo1985

Je te propose ce fichier

Au lancement de ton USF les labels se remplissent ainsi que la combobox

Pour les textbox je ne sais pas ce que tu veux y mettre dedans

Si tes labels sont mieux nommés cela pourrait te servir plus facilement pour le code
Idem pour les textbox et combo etc.....

Exemple : Lbl_Jours1 ,Lbl_Jours2, Lbl_Jours3 .......
 

Pièces jointes

  • Afficher valeur dans Usform V1.xlsm
    21.3 KB · Affichages: 4

Appo1985

XLDnaute Occasionnel
Bonjour @phil69970
Merci d'avoir réagi promptement.
en fait les textbox aussi c'est pour afficher donc le label30 à 31 n'est que la suite.
en fait au niveau du fichier source j'arrive à remplir mon tableau en remplissant les textbox les valeurs des labels étant définies par des formules.
ici je voudrais lire tous le tableau c'est à dire du textbox5 au label41. Merci
 

Phil69970

XLDnaute Barbatruc
@Appo1985

J'ai rien compris à ton explication

Mets en clair ce que tu veux faire
 

Appo1985

XLDnaute Occasionnel
@Appo1985

J'ai rien compris à ton explication


Mets en clair ce que tu veux faire
Je m'excuse des réponses décousus. J'ai un problème de connexion.

Voici comment je veux que ça affiche

Colonne A=Combobox1
Colonne B=Textbox5
Colonne C= Textbox1
Colonne D= Textbox2
Colonne E= Label1
Colonne F= Textbox3
Colonne G= Textbox4
Colonne H= Label2
Colonne I=Label
Colonne J= Label
Colonne K= Label
Colonne L= Label
Colonne M= Label
Colonne N= Label
Colonne O= Label
Colonne P= Label
Colonne Q= Label
Colonne R= Label
Colonne T= Label
 

Appo1985

XLDnaute Occasionnel
De colonne I a colonne T c'est Label30 à Label 41
 

Phil69970

XLDnaute Barbatruc
Re

Et j'imagine que ton tableau n'a pas qu'une ligne

De même as tu lu ce que j'ai mis ici

Si tes labels sont mieux nommés cela pourrait te servir plus facilement pour le code
Idem pour les textbox et combo etc.....

Exemple : Lbl_Jours1 ,Lbl_Jours2, Lbl_Jours3 .......
En clair tous les labels qui servent à afficher le même type de données tu les nommes sur la même base
Idem pour les textbox etc...

Donc j'attends une certaine cohérence dans le nommage des labels, textbox etc.... la lisibilité ET la maintenance ET l'écriture du code s'en trouve largement amélioré.

Comme je n'ai pas l'intention de recommencer à écrire 10 fois le code au gré de tes compléments d'information au compte goutte.
Merci de mettre un fichier représentatif plus en rapport avec ta demande

C'est quoi représentatif ?

- représentatif, même organisation des lignes et des colonnes, mêmes libellés, mêmes noms de feuilles et de contrôle ...
- anonymisé, pas de données personnelles réelles tels nom, n° sécu, adresse ... remplacé par Nom1, Nom2 etc ....
- simplifié, une quinzaine de lignes reproduisant l'ensemble des différents cas envisageables (Avec le résultat souhaité éventuellement)

*Éventuellement préciser l'ordre de grandeur des lignes à traiter, exemple mon fichier comporte 1 000 lignes ou bien 200 000 lignes ==> la méthodologie peut être différents.

Si cela fonctionne sur le fichier fourni et pas sur le vrai fichier c'est qu'il n'est en rien représentatif ou que tu n'as pas su transposer ce qui devrait être un simple copier coller du code.
 

Appo1985

XLDnaute Occasionnel
Bonjour.
En fait au niveau du fichier source les contrôles sont en groupes.
Le Label1 donne le total des valeurs saisie au niveau du textboxb1 et 2 et ainsi de suite.
J'ai essayé de modifier votre code pour vous permettre de voir à peu près ce que je voulais.
Ici le problème c'est que ça s'affiche dès l'ouverture du userform alors que je voudrais que ça change quand je choisis le mois. Mon tableau doit comporter plusieurs lignes.
Ci joint le deuxième fichier :
 

Phil69970

XLDnaute Barbatruc
Re

J'ai modifié la liste des mois pour que excel les comprennent :

FEVRIER ne veut rien dire pour excel
FÉVRIER il comprend, tu vois la différence
Idem pour AOUT et AOÛT et DECEMBRE et DÉCEMBRE

J'ai fait les labels 30 à 41
Je te laisse finir pour les textbox
 

Pièces jointes

  • Afficher valeur dans Usform V2.xlsm
    22.6 KB · Affichages: 7

ChTi160

XLDnaute Barbatruc
Bonsoir le Fil
phil69970 y'a un petit problème !
tu charges le Combobox des mois avec l'array puis tu y ajoutes les Mois de la Colonne A du Tableau(ce qui me semble plus correcte)
VB:
Private Sub UserForm_Initialize()
'Jai isolé la Ligne ci dessous '
'Me.Cbo_Mois.List = Array("JANVIER", "FÉVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOÛT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DÉCEMBRE")
Set f = Sheets("TAB")
For Each c In f.Range("A12:A" & f.[A65000].End(xlUp).Row)
    Me.Cbo_Mois.AddItem c
Next c
''Remplir les labels
For i = 30 To 41
    Me.Controls("Label" & i) = Worksheets("Tab").Cells(12, i - 21)
Next i
Peut-être n'ai-je pas compris Lol
Bonne fin de Journée
Jean marie
 
Dernière édition:

Appo1985

XLDnaute Occasionnel
Bonsoir. Grandement merci .



Je n'avais pas du tout fait attention aux accents

Effectivement pour les Label 30 a 41 ça marche comme j'ai souhaité mais j'ai du mal a ajouter pour les premiers contrôles qui eux n'ont pas d'ordre logique selon leur noms.
j'ai coller les lignes de code que j'avais ajouté au niveau du Cbo_Mois_Change mais ça ne marche toujours pas.
 

Discussions similaires

Réponses
12
Affichages
679
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…