Microsoft 365 VBA données ne remontent pas correctement dans Labels

Piment

XLDnaute Occasionnel
Bonjour à tous,
Une fois de plus, je reviens vers vous afin de m'aider à résoudre un problème de données qui ne remontent pas correctement dans mes Labels.
Je rappelle que je suis novice en VBA, aussi je vous demande toute votre indulgence.
Je bricole, je bricole...
Mon problème: dans mon USF "Visualiser Agent" j'ai mis en place 3 Frames afin de regrouper mes données: Frame Mobilier, Frame Informatique, Frame Téléphonie.
Les données sont issues du tableau se trouvant sur la feuille "Recensement".
Cet USF "Visualiser Agent" permet de visualiser tout le matériel affecté à un agent. Un autre USF("Visualiser Direction") permet lui de regrouper le matériel par direction, par Service et par Cellule, sur le même principe.
Mon problème est que lorsqu'une colonne du tableau sur la feuille "Recensement" n'est pas renseignée, il m'affiche le Label quantité et Désignation vide, ce qui est tout à fait logique. Mais ce que j'ai fait est que lorsque c'est le cas, le Label vide est rempli par les valeurs du Label qui suit, et les autres Label suivent le même mouvement. Ainsi, je n'ai pas de "trous" dans la raquette, et offrent un meilleur confort de lecture: Bureau="", Fauteuil remonte dans le Label Bureau qui est vide, Chaises remonte alors dans le Label Fauteuil....
Tout fonctionne correctement, sauf à partir de PC Fixe où là cette remontée ne se fait pas. Pareil pour Téléphonie.
Je pense que c'est lié aux Frames, mais en faîte je n'en sais rien.
Pardon pour les puristes, c'est une usine à gaz que j'ai construit, j'en ai bien conscience, mais je n'ai pas les compétences pour faire mieux.
Aussi n'hésitez pas à me faire des propositions pour simplifier tout çà. J'apprendrais encore.
Merci beaucoup pour votre aide.
 

Pièces jointes

  • Recensement Matériel V15 - Copie.xlsm
    180.4 KB · Affichages: 21
Solution
Re

ton problème vient du fait que tu as affecté Un Label (voir nom des labels) par Colonne ! Donc si la cellule de la Colonne est Vide et bien ton label sera Vide.
C'est pourquoi, je crois, que j'avais affecté les Cellules au Label (vide suivant) dans mon exemple ;
Labels Numéroté de 1 à x je crois)
Si tu as 5 cellules Pleines sur l'ensemble seuls les 5 premiers labels seront remplis.
Enfin je crois avoir fait ainsi !
voir vidéo :
Bonne continuation
Jean marie

Piment

XLDnaute Occasionnel
Bonjour Jean-Marie,
Merci beaucoup pour le fichier modifié.
J'ai pu le travailler quelque peu, pour l'adapter au plus près de mes besoins. J'ai commencé à saisir un peu les codes.
J'ai finalisé l'USF "Visualiser Agent".
Par contre, je n'ai pas réussi à ajouter des boutons de commande sur l'USF. Chose qui, habituellement, ne me pose aucun problème. Tu vois que je n'ai pas encore tout compris ! Il y a encore du boulot.
Si tu pouvais m'apporter, une fois de plus, ton aide pour me permettre de redimensionner l'USF "Visualiser Agents", de manière dynamique (en fonction de l'espace occupé par les frames).
Je te joins le fichier.
Merci à toi.
 

Pièces jointes

  • Recensement Matériel Chti160-11.xlsm
    166.3 KB · Affichages: 2

Piment

XLDnaute Occasionnel
Bonjour Jean-Marie,
Je te mets ci-joint le fichier.
L'USF que je souhaiterais adapter est l'USF "Visualiser_Agents.
J'aimerais bien que , l'USF, soit dimensionné automatiquement en fonction des Frames.
Les Frames de cet USF se dimensionnent déjà automatiquement en fonction des contenus.
Sur le fichier joint:
- la feuille "Accueil est opérationnelle, les graphiques récupèrent les bonnes données et se met à jour lors de tous changement,
- les boutons menus, Direction, Service fonctionnent,
L'USF menu comporte 2 nouveaux boutons:
- "Visualiser Référence Matériel", qui permet de faire une recherche sur une référence afin de savoir où se trouve ce matériel,
_ "Recensement Matériel Collectif" permet de recenser tout le matériel à disposition de la Direction ou du Service ou de la Cellule (exemple: Imprimante couleur pour tout les agents de la Direction ou du Service...)
Je traite ce matériel sur une feuille différente parce qu'il n'est pas affecté à un agent en particulier.
Je me bats d'ailleurs pour adapter les codes de l'USF "Visuel_MatCollectif", sans succès pour le moment.
J'ai également modifier l'USF "Visualiser Direction" pour l'adapter à l'ensemble des USF, notamment en respectant la Charte Graphique de l'entreprise. Cela donne aussi plus de fluidité dans la lecture de l'USF.
A propos de cet USF, et toujours dans l'optique de fluidité dans l'utilisation, pourrais-tu regarder les comboBox afin de permettre de pouvoir choisir un autre service ou une autre cellule sans avoir besoin ou de réinitialiser ou de sélectionner "Tous". Si c'est possible.
Avec tous mes remerciements.
 

ChTi160

XLDnaute Barbatruc
Bonjour Piment
j'espère que tu vas bien ,
ce que j'ai fait pour adapter la hauteur du Userform("Visual_Agent")
En bas de la Function Recup()
j'ai ajouté ceux ci :
VB:
 With .Controls("Frm_" & IndxFrme)
           .Height = 20 + (26.4 * IDM)
      End With   
           .Lbl_Directions.Caption = StrDirections
           .Lbl_Services.Caption = StrServices
           .Lbl_Cellule.Caption = StrCellules
      End If
    Next
    'Ci dessous ligne qui commence par .Height
    '114 position Haute des Frames Frm_1,Frm_2,Frm_3 puis on va prendre la hauteur du Frm le Plus Haut(Max des Trois Frm) plus 46
      
        .Height = 114 + Application.WorksheetFunction.Max(.Frm_1.Height, .Frm_2.Height, .Frm_3.Height) + 46
si tu n'arrives pas a adpter je te renverrai le fichier
je regarde pour tes autres demandes !
Bonne fin de Soirée
Jean marie
PS :
j'avais oublié la Vidéo Lol
 

Pièces jointes

  • Piment-11.gif
    Piment-11.gif
    217.6 KB · Affichages: 19
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re je relis et ceux ci :

A propos de cet USF, et toujours dans l'optique de fluidité dans l'utilisation, pourrais-tu regarder les comboBox afin de permettre de pouvoir choisir un autre service ou une autre cellule sans avoir besoin ou de réinitialiser ou de sélectionner "Tous".
Ce que j'ai fait c'est la procédure de liste en cascade .
Je vais regarder si je peux changer ,modifier entièrement ce mode de fonctionnement .
Jean marie
 

Piment

XLDnaute Occasionnel
Re je relis et ceux ci :


Ce que j'ai fait c'est la procédure de liste en cascade .
Je vais regarder si je peux changer ,modifier entièrement ce mode de fonctionnement .
Jean marie
Bonjour Jean-Marie,
C'est super. Exactement ce que je voulais. Gros Merci à toi !
Concernant l'USF "Visualiser_Direction", ce que je voulais dire c'est que lorsque l'on choisit une direction, puis un service, puis une cellule, avoir la possibilité, en revenant dans le comboBox cellule, de pouvoir choisir une autre cellule sans avoir à repasser par sélectionner "Tous". Idem pour les 2 autres comboBox.
Un petit ajustement à faire pour plus de fluidité.
Comme tu as pu le voir, j'ai essayé d'adapter ton code au nouvel USF, mais sans succès.
Ce qui me fait penser: le module de classe "Class_CmdB_page sert à quoi, dans la mesure où il n'y a plus de MultiPage ?
J'ai une multitude de questions, mais je continue de tripatouiller tout ça !
Dans l'attente, mille mercis à toi.
 

ChTi160

XLDnaute Barbatruc
Bonjour Piment
J'espère que tu vas bien ?
Une question
Dans ta feuille "RecensementMatérielCollectif"
Tu dois normalement retrouver les l'ensemble des "Désignation" de ta feuille "RecensementMatériel" sans bien sûr les Noms des Agents (c'est ça ?)
Pourquoi donc, ne pas utiliser cette feuille "RecensementMatériel" pour extraire les éléments nécessaires pour le Userform "Recensement_Matériel_Collectif".
Autre question
Comment tu prévois l'utilisation de Ce Userform " "Recensement_Matériel_Collectif".
Mets-moi un exemple de ce que tu veux obtenir !
Dans l'attente
Bonne fin de Journée
Jean marie
Ps : je cherche à refaire les procédures des Combobox (pas trouvé encore !)
 

Piment

XLDnaute Occasionnel
Bonjour Jean-Marie,
Je vais bien merci. Je me fais des nœuds au cerveau, mais bon.
Et toi tu vas bien, passé de bonnes vacances ?
Pour répondre à ta question: la "FeuilleMatérielCollectif" est une feuille à part entière. Il s'agit ici de répertorier tout le matériel qui n'est pas affecté à un agent. C'est du matériel qui sert à tous les agents d'une direction, d'un service ou d'une cellule (exemple un gros Photocopieur pout toute la direction, l'équipement d'une salle de réunion...).
Jean-Marie merci beaucoup pour le temps que tu consacres à m'aider ! J'apprécie vraiment !
Bonne réception.
 

ChTi160

XLDnaute Barbatruc
Re
Ca ne me dis pas comment tu vas utiliser ce userform lol
Via le numéro de référence ?
Tu choisis la direction et/ou le service Et/ou la cellule et après ?
Que doit il se passer ? Lol
que doit faire l'utilisateur ?
Merci par avance
jean marie
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof