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: 22
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

ChTi160

XLDnaute Barbatruc
Bonjour Claude
pour ce qui est de ce message
Nom ambigu détecté (ID_Mobiliers).
je te l'ai déjà dit

cela veut dire que tu as plusieurs fois la déclaration de la Variable "ID_Mobiliers"
ou cela peut arriver avec une Procédure que tu aurais collée plusieurs fois dan sun projet
il te suffit d'ouvrir un Module de faire "Ctrl+F" tu colles le mot qui est détecté comme ambigue .dans "Rechercher"
et ainsi tu vas pourvoir supprimer Excedent .
Pour ce qui est du tri des ComboBox
Ça se passe dans la Procédure "Alim_Combo"
'en fin de procédure
VB:
Tmp = Empty 'On vide la variable
   'Enlève la sélection dans le ComboBox
       .Text = Empty
   'On va trier le Contenu du Combobox en comparant les Lignes du ComboBox entre elles
        For i = 1 To .ListCount - 1 'pour chaque Ligne du ComboBox
           For ii = 1 To .ListCount - 1'pour chaque Ligne du ComboBox
             If UCase(.List(i, 0)) < UCase(.List(ii, 0)) Then 'si 
               Tmp = .List(i, 0): .List(i, 0) = .List(ii, 0): .List(ii, 0) = Tmp 'on récupère la valeur dans une variable temporaire pour la déplacer
             End If
           Next ii
        Next i
Ok_Change = True
Je regarde le Fichier dès que possible !
Jean marie
 

Piment

XLDnaute Occasionnel
Re
tu peux aussi supprimer
Les variables :
VB:
Public ID_Informatiques As Byte
Public ID_Telephones As Byte
Dans le Module "Module_Agents"
Jean marie
Re Jean-Marie,
J'avais bien compris ton propos pour la procédure, mais je n'avais pas pensé pour ces variables.
En faîtes, ces variables sont déclarées 2 fois, d'où le beug. Rectifié autant pour moi. Tout fonctionne.
Merci à toi.
 

Piment

XLDnaute Occasionnel
Bonjour Jean-Marie,
Tu vas bien ?
Je te remercie de ton empathie à mon égard.
J'aurais, certainement, encore besoin de ton aide.
Je vais mettre en place un Usf "Recherche" pour accéder aux informations des BDD. J'ai trouvé sur la toile un fichier qui va dans ce sens et qui a été fait par toi en Octobre 2021 (un certain Jackie). Très similaire aux codes que tu m'as fournis.
Je vais essayer d'adapter à mon fichier. J'aurais probablement besoin de ton aide.
Merci encore, et bonne journée à toi.
Claude.
 

Piment

XLDnaute Occasionnel
Bonjour Jean-Marie.
Comment vas aujourd'hui ?
Je me permets de te solliciter une fois de plus.
J'essaye de mettre en place un formulaire de recherche du matériel sur la base de données "RecensementMatériel".
Je suis arrivé à obtenir un petit résultat, mais je me rends compte que je suis loin du résultat escompté.
Je t'explique :
Dans le fichier joint, tu trouveras un Usf nommé "Rech_Type_Materiel". Ce formulaire devrait me permettre de récupérer les infos dans le tableau "RecensementMatériel" à partir de la colonne 11 (Type Matériel) de ce tableau. Les résultats de la recherche s'affichent dans la ListBox1.
J'ai réussi à réaliser cette recherche via la TexBox1 "Recherche".
Si tu tapes armoire dans ce TexBox, la LisBox1 affichera toutes les armoires répertoriées dans le tableau.
- 1ère étape: sur un click de l'une des lignes affichées dans la ListBox1, affichage dans la ComboBox1 la Direction concernée, affichage du Service concerné dans la ListBox2 et affichage de la cellule concerné dans la Lisbox4.
Mais tu connais mon esprit tortueux, j'aimerais aussi, pouvoir faire la même recherche en utilisant cette fois-ci la combobox1 Direction, puis service, puis cellule et affichage dans la ListBox1 les données récupérées.
En un mot, sur le même formulaire, la possibilité de faire une recherche par type de matériel, ou bien par Direction, par Service et par Cellule.
Tu veux bien m'aider à peaufiner ce superbe travail que tu as réalisé.
Merci à toi.
Bonne journée.
 

Piment

XLDnaute Occasionnel
Bonjour, Jean-Marie,
J'espère que tu vas bien.
Alors, pour revenir à mon problème du poste précédent, comme je te l'ai dit, j'ai trouvé sur la toile un fichier que tu avais fait, que j'essaye d'adapter.
L'esprit de ce fichier me convient complètement. La seule différence se trouve au niveau de la modification. En effet, je voudrais que lorsqu'il y a modification, il reprenne les données et les inscrit dans une nouvelle feuille ("Nouvelle affectation").
Je n'arrive pas à adapter ton fichier à mon besoin.
Je te joins ton fichier et le mien ci-dessous.
Si tu as un moment, merci d'y jeter un œil.
Merci à toi.
 

Piment

XLDnaute Occasionnel
Bonjour Jean-Marie,
Heureux de ton retour.
Comment tu vas?
Pour répondre à ta question, je récupère les données sur la feuille "RecensementMatériel".
Maintenant, je ne suis pas resté les deux pieds dans le même sabot.
Comme j'ai eu l'occasion de le dire sur ce forum, je ne me contente pas de récupérer des fichiers tout cuits. J'essaye de comprendre ce qui a été fait. Je ne comprends pas tout, mais je m'y efforce.
C'est avant tout un respect qui est dû à celui qui m'apporte son aide.
Alors, j'ai quelque peu avancé.
Je te joins mon fichier. Si tu pouvais y jeter un œil et me dire si c'est bon, si je ne risque pas de mauvaise surprise à terme, ou s'il y a moyen d'améliorer.
Tu verras, en lançant l'Usf "Accueil" en cliquant sur "Menu " , un bouton de plus dans la première Frame: "Rechercher Matériel".
L'Usf "Rech_Type_Materiel permet de rechercher un matériel, par "Réf", par Type de Matériel( Ex: Bureau), par Direction, par Service et par Cellule.
Cet Usf me permet également de modifier l'affectation d'un matériel.
J'ai rajouté une feuille de plus dans le classeur, nommée "Nouvelle Affectation".
Les données sont répercutées sur cette feuille.
Le tableau qui s'y trouve permet la traçabilité du Matériel.
Dans l'attente, passe une bonne journée. Merci à toi.
 

Discussions similaires

Réponses
4
Affichages
433

Statistiques des forums

Discussions
314 771
Messages
2 112 769
Membres
111 653
dernier inscrit
Vanie0082