Microsoft 365 2ème Combox n'affiche que les IMEI disponible

Piment

XLDnaute Occasionnel
Bonjour à tous
Je reviens une fois de plus vers vous afin de m'aider à résoudre une difficulté.
J'ai un tableau qui est constitué de deux zones: 1 zone Entrée stock et une zone sortie stock.
J'ai 2 comboBox en cascades.
Après un choix dans la 1ère comboBox, je voudrais que la 2ème combobox n'affiche que les IMEI qui ne sont pas sortis, qui sont donc disponibles.
Je joins un fichier minimaliste (compliqué pour anonymiser le fichier de base).
Avec Tous mes remerciements.
 

ChTi160

XLDnaute Barbatruc
Bonsoir Claude
Je ne comprends pas que tu veuilles partir d'un Combobox2 rempli de tout les IMEI pour y supprimer ceux qui n'ont rien à y faire .
Je pensais que tu voulais remplir le Combobox2 des IMEI non sortis.
Je n'ai pas mon ordi, je te post depuis mon téléphone
Jean marie
 
Dernière édition:

Piment

XLDnaute Occasionnel
Bonjour Jean-Marie,
Désolé de répondre à ton post que maintenant (Quelques petits soucis de santé: la bête n'est plus très jeune).
Pour répondre à ta question, c'est exactement çà: suite à un choix dans la ComboBox1, la comboBox2 affiche les IMEI non sortis de la marque de Gsm choisi. J'ai l'esprit un peu tortueux, ce qui parfois m'amène à des raisonnements....
Je te remercie une fois de plus pour ton aide.
Claude.
 

Piment

XLDnaute Occasionnel
Re Jean-Marie.
Je vais mieux merci.
J'aimerais bien que tu reprennes ce truc et me propose les bons codes qui m'assurent la fiabilité du process.
J'aurais un autre problème à te soumettre, mais chaque chose en son temps, si tu veux bien m'accompagner.
Grand Merci à toi.
 

ChTi160

XLDnaute Barbatruc
Bonjour Claude
J'espère que tu vas bien ?
OkFound est une variable qui prend la valeur True ou False , elle sert à gérer l'affichage ou non dans le Combobox "CBxDesignation" de "Aucun Dispo"
On met la variable a False en début de procédure.
Puis si lors de la recherche, un IMEI Dispo est Trouvé on le passe à True ,
VB:
If OkFound = False Then CbxIMEI.AddItem "Aucun Dispo": CbxIMEI.ListIndex = 0
'ce qui veux dire que si OkFound = False aucun IMEI n'a été Trouvé pour alimenter 
'le Combobox, donc on Affiche "Aucun Dispo"
N'hésite pas si besoin !
Bonne fin de Journée
Jean marie
 

Piment

XLDnaute Occasionnel
Re:
Ok compris.
J'ai un autre problème:
Je te mets le fichier en pièce jointe.
* Click sur l'onglet "Menu" en haut à gauche. Le formulaire "Accueil va s'ouvrir.
* Click sur le bouton "Modifier Affectation ou Rechercher Matériel", le formulaire va s'ouvrir.
* Dans la Frame "Rechercher par Type ou Réf:", vas sur le ComboBox "Type Matériel" et choisi "Bureau": la ListView juste dessous affiche tous les bureaux enregistrés.
* Vas dans la Frame "Rechercher Matériel par:", sélectionne la Direction Générale des Services dans "Direction". La ListView n'affiche que les bureaux recensés.
* Clik sur la dernière ligne affichée dans la ListView: les données vont également s'affiché dans la 2ème ListView placée juste en dessous.
* Fais touche Tabulation du clavier, le curseur se positionne sur le 2ème TexBox (Etat) de la ListView "Nouvelle Affectation" (Zone verte). Choisis "Réformé" et va directement sur le dernier TexBox (Matériel Mis en Réforme), saisis ce que tu veux et valide.
Attends que la MsgBox affiche "Nouveau QRCode généré" et ferme le formulaire.
Vas sur la feuille "NouvelleAffectation": les données ont été rajouté dans le tableau.
Vas sur la feuille "QRCodes_NouvAffect", tu verras qu'une ligne a été rajoutée au tableau et qu'un QRCode à été créé.
Mon problème se situe au niveau des codes qui génèrent ce QRCode.
Cela fonctionne, mais je ne sais pas comment!!!!
Si tu vas sur Visual Basic, feuille "Rech_Type_Matériel", dans les codes du bouton "Valider", aucun code ne lui dit de faire ça.
Contrairement à la feuille "Recensement_Matrériel", où, dans les codes du bouton valider, j'ai écrit les codes nécessaires:
VB:
Range("A" & Ligne).Value = Sheets("RecensementMatériel").Range("A" & L).Value & .Range("B" & L).Value & .Range("D" & L).Value _
.Range("G" & L).Value & .Range("H" & L).Value & .Range("I" & L).Value & .Range("J" & L).Value
J'ai essayé de transposer cette ligne de codes dans les codes du bouton "Valider Modification" du formulaire "Modifier Affectatio ou Rechercher Matériel", sans succès.
Mais à ma grande surprise il le fait quand même, comme tu as dû le constater.
Il y a quelque chose qui va pas!!!!
Ci-dessous lien pour le fichier (trop lourd)
Si tu pouvais y jeter un oeil!
Merci à toi.
Bonne journée.
Claude.
https://we.tl/t-54lNVGCY5Z
 

ChTi160

XLDnaute Barbatruc
Bonjour Claude

J’ai suivi tes Indications

Je suis allé dans le Code Du Bouton « Valider Modification »

En bas de la Procédure tu as :

Ceux-ci :
VB:
Application.ScreenUpdating = False
Call QR_LigneActiveNA 'Active le module 4 qui permet de générer le QRCode

Qui te renvoie vers la procédure
QR_LigneActiveNA qui te Génére le QRCode
VB:
 Sub QRCODENA(kr As Long)
Dim t As Variant, oldCell As Range, CelV
Dim sID As String, sLink As String, sPict As Object
Dim Tbl_QRCode As Object
'retenir la cellule avant changement
Set oldCell = ActiveCell
With Sheets("QRCodes_NouvAffect")
t = Application.Transpose(Application.Transpose(.Cells(kr, 1).Resize(, 1).Value))
CelV = t
sLink = "https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=" & CelV
.Cells(kr, 2).Activate
Set sPict = .Pictures.Insert(sLink)
With sPict
.Name = "QR_" & Cells(kr, 1) & "_" & Cells(kr, 2)
'--- change la taille
.Width = 100
.Height = 100
'--- change la position
.Left = .Left + 5
.Top = .Top + 5
'--- pour info
Debug.Print .Name & " ajouté", , .Left, .Top
End With
oldCell.Activate
.Cells(kr, 1).RowHeight = 66
'Set sPict=Nothing
End
Tu me dis si ça répond à ta demande (je n'ai pas testé Lol
Jean marie
 

Piment

XLDnaute Occasionnel
Bonjour Jean-Marie,
J'espère que tu vas bien.
Effectivement, c'est bien ça.
Ce qui me surprend, c'est qu'au contraire de la procédure établie dans le bouton de "validation" du formulaire "RecensementMatériel", je ne lui ai indiqué à aucun moment de "concatener" les cellules du tableau "NouvelleAffectation" et que la cellule A du tableau "QRCodes_NouvAffect" est égale au résultat.
Regarde la dernière partie du code du bouton "Validation" du Formulaire "RecensementMatériel" et compare-la à la dernière partie du code du bouton validation du formulaire "Rech_Type_Materiel". Tu verras qu'il manque la ligne de code:
VB:
Range("A" & Ligne).Value = Sheets("RecensementMatériel").Range("A" & L).Value & .Range("B" & L).Value & .Range("D" & L).Value _
.Range("G" & L).Value & .Range("H" & L).Value & .Range("I" & L).Value & .Range("J" & L).Value
.
Ici, je lui dis où il faut aller chercher les info, ce qu'il doit faire avec et ou mettre le résultat.
Ensuite je génère le QRCode.
La génération du QRCode n'intervient que lorsque la cellule "A" est remplie. Hors la cellule "A" se charge sans que nulle part je ne lui ai indiqué où récupérer les infos à afficher.
C'est là où réside le mystère???
Cà marche comme il faut, certes, mais je crains à terme un dysfonctionnement.
Merci à toi.
Claude.
 

ChTi160

XLDnaute Barbatruc
Bonjour Claude
Je viens de comprendre Lol
Tu travailles sur un tableau Structuré et l'un des avantages de ce tableau est que si tu as des Fonctions dans ce tableau elles s'incrémentent lors de l'ajout d'une Ligne ;
Si tu fais du Pas à pas, tu t'apercevras que lors de l'ajout de la Ligne les données apparaissent.
Bonne fin de Journée
Jean marie
Jean marie
 

Piment

XLDnaute Occasionnel
Re:
C'est ce que je pensais, mais je n'avais pas de certitude.
Et si je devais écrire les codes (comme dans la feuille "Recensement" voir code poste 27), comment faire? (Histoire de ne pas mourir idiot).
J'ai essayé de reproduire le code mais sans succès. Ce qui me pose problème est le "L" que j'ai voulu remplacer par "Lstr", mais cela ne fonctionne pas.
Merci à toi.
Claude
 

ChTi160

XLDnaute Barbatruc
Re
Pour répondre à ta demande
Et si je devais écrire les codes (comme dans la feuille "Recensement" voir code poste 27), comment faire? (Histoire de ne pas mourir idiot).
Tu dois transformer le tableau structuré en plage de Cellules normales (ce qui serait dommage) lol mais bon !
Et bien sûr mettre le code en conformité avec ce que tu veux faire.
Cordialement
Jean marie
 

Statistiques des forums

Discussions
311 720
Messages
2 081 899
Membres
101 834
dernier inscrit
Jeremy06510