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

XL 2021 liste déroulante

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous,
Mes listes déroulantes n'affichent que 8 items. Peut-on, sans avoir recours à l'ascenseur, afficher plus de lignes dans ce menu déroulant. Par exemple 20 au lieu de 8 ?
J'ai cherché en vain...
Bien cordialement,
Pierre
 
Solution
Ce n'est pas moi qui l'ai supprimée.
Je l'ai retrouvée dans une ancienne version.

Edit:
Plutôt que d'exporter les localisations de Listes vers t_PointsCollecte sur Feuil1 (colonne J, ne pourrait-on pas utiliser directement la ressource à son origine, à savoir la colonne D de Listes ?
Je sais pas trop ce que tu veux faire. Si tu as des soucis, je regarderai.

TooFatBoy

XLDnaute Barbatruc

Dudu2

XLDnaute Barbatruc
En fait, ces derniers temps j'ai surtout bossé sur un truc délicat qu'est la fonction d'Exclusion d'un Range d'un autre Range qui n'est pas servie par une fonction native VBA comme le sont l'Intersection et l'Union.

J'en avais besoin mais il fallait trouver une méthode pas trop bourrin qui ne passe pas par un parcours des cellules rédhibitoire pour de gros Ranges. Je pense avoir réussi cet exercice et ai publié les ressources correspondantes à toutes fins utiles.
 

Constantin

XLDnaute Occasionnel
Supporter XLD
Vraiment désolé Dudu2,
Je n'avais pas vu tous les messages et propositions que tu m'avais envoyés étant resté "bloqué" sur ma dernière discussion. Je suis réellement désolé et comprends mieux ce à quoi TooFatBoy faisait allusion. Le moins que l'on puisse dire c'est que je ne suis très doué
J'ai ouvert le dernier fichier envoyé (...scroll6). Bien que je n'ai rien remarqué sur le fonctionnement de mon fichier, il semble que cette dernière version assure une meilleure stabilité des affichages.
Reste pour moi à exporter ces macros en lieu et place sur mon fichier dont l'essentiel est à ce jour finalisé.
Je ne sais pas trop comment m'y prendre et j'envisageais de :
- ouvrir les deux fichiers
- supprimer le contenu des macros liées aux ComboBox dans le mien
- Faire un copier coller du contenu de tes macros à la place dans mon fichier
- supprimer la macro validation des listes qui ne sert à rien et qui bugue
- essayer de ne rien oublier...
Est-ce que cette procédure est correcte ou y a t-il plus simple ?
Je te joins ma dernière mouture à laquelle j'ai apporté quelques modifications:
- bouton "effacer" en suivant tes instructions. Cela semble très bien fonctionner.
- modifier la taille des tableaux t_listes et t_listecourses pour ajouter une colonne de pré-tri (A=Alimentaire, N=Non alimentaire). Je ne sais si c'est judicieux ou faisable, mais là, ça dépasse mes compétences.
En gros, pour saisir mes courses, il faudrait que j'indique si ça se mange ou pas... Inutile de faire une ComboBox, la saisie étant facile. Bien sûr, selon le choix A ou N, le contenu de la Catégorie devrait se modifier.
Après ça je crois que mon fichier sera opérationnel.
En te (vous) renouvelant mes plus sincères excuses,
Pierre
 

Pièces jointes

  • courses _LV.xlsm
    222.4 KB · Affichages: 3

Dudu2

XLDnaute Barbatruc
Pour "transférer" les Modules et UserForms 2 solutions:

1 - Ouvrir les 2 fichiers en même temps et VBE, les supprimer sans les exporter dans l'ancien fichiers, faire un "drag & drop" (glisser & déposer) du nouveau fichier vers l'ancien fichier dans VBE.

2 - Ouvrir le nouveau fichier et VBE, les exporter, fermer le nouveau fichier, ouvrir l'ancien fichier et VBE, les supprimer sans les exporter, les importer (de l'export fait précédemment).

Je ne comprends pas pourquoi tu t'obstines à mettre 40 dans le ListRows qui fait que la ComboBox dépasse la zone d'affichage, surtout après que le scroll souris a été installé sur la ComboBox.
Enfin, c'est toi qui vois:


Pour transporter le A / N il faut modifier le code de récupération des listes.
Je regarde et replace le fichier après modif.
 

Dudu2

XLDnaute Barbatruc
En fait, c'est juste les formules qu'il fallait corriger.
Un simple INDEX(EQUIV()) pour remplacer les (étranges) formules existantes.
J'ai un peu modifié le code du Module_ComboBoxesCourses histoire d'être plus générique sur le chargement des valeurs de liste.
 

Pièces jointes

  • courses _LV.xlsm
    227.9 KB · Affichages: 2

Dudu2

XLDnaute Barbatruc
Sauf que pour la localisation, il faudrait éviter d'avoir des rayons qui portent le même nom.
Exemple le RAYON de nom "Rayon" cité plusieurs fois pour des CATÉGORIEs différentes.
Dans ce cas, le qualifier "Rayon poissons", "Rayon livres", etc...
 

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour Dudu2,
J'ai suivi ta recommandation concernant les noms de Rayon. J'ai usé d'un petit truc idiot mais qui semble fonctionner :
Au lieu d'utiliser les termes "Rayon poissons", "Rayon livres", etc... je rajoute un ou plusieurs espaces à la fin des noms de rayons. Sur le plan, ça marche bien dans la recherche de doublons. Car on est bien d'accord :
- sur le Plan, une localisation est unique
- par contre, je peux associer dans Listes la même Localisation à deux ou trois lignes différentes :
ex :
Poisson / Conserves = K13
Conserves / Poisson = K13
ça ne semble pas poser de problème sauf évidemment erreur de ma part.
J'ai bien sûr testé ton envoi. Malheureusement, ça ne marche pas chez moi.
Ma proposition consistait à avoir des listes déroulantes plus courtes selon qu'on choisissait A ou N dans la liste de courses. En sélectionnant A, je n'aurai eu qu'une liste des produits alimentaires dans l'affichage de la liste déroulante de Catégorie (19 Catégories) et dans le cas du choix de N la liste déroulante de Catégorie n'afficherait que les produits non alimentaires (14 Catégories) .
Comme je saisis de gauche à droite, je dois en premier choisir dans la Colonne A_N si ça se mange ou pas ( j'ai remplacé A/N par A_N parce que VBA ne semble pas aimer la première solution.
Une fois A ou N sélectionné, j'aimerais que la le menu déroulant qui sera forcément plus court n'affiche que les produits concernés par le premier choix.
Je te jure que j'ai vraiment essayé de modifier les codes VBA en insérant des lignes mais ça bugue tout le temps. J'ai du oublier de renseigner des modules ou autres éléments mais là, j'arrive au bout de mon peu de compétences.
Bien cordialement,
Pierre
 

Dudu2

XLDnaute Barbatruc
Au lieu d'utiliser les termes "Rayon poissons", "Rayon livres", etc... je rajoute un ou plusieurs espaces à la fin des noms de rayons
Alors ça @Constantin, c'est de la bidouille à vraiment ne pas recommander.
Déjà dans le code souvent on Trim() les valeurs en provenance des tableaux car il y a souvent des espaces involontaires issus de la saisie. En plus ces espaces ne se voient pas et pour la maintenance c'est pas possible.
Alors franchement, ne fais pas ça ! Vraiment !
 

Dudu2

XLDnaute Barbatruc
j'ai remplacé A/N par A_N parce que VBA ne semble pas aimer la première solution.
VBA n'a aucun problème avec ça.
Ce sont les références en formules qui n'aiment pas le "/".
[A/N] -> [[A/N]]
Sauf si tu utilises ce genre de référence en VBA, ce qui est préférablement évitable.
 
Dernière édition:

Constantin

XLDnaute Occasionnel
Supporter XLD
Plus rapide que ton ombre !
Je suis impressionné, réellement ! Ça fonctionne à merveille. Bien sûr, je n'ai pas encore tout compris et je vais me permettre d'aller scruter tes macros pour m'endormir moins bête ce soir.
Pour moi, c'est parfait !
Mille mercis,
Pierre
 

Constantin

XLDnaute Occasionnel
Supporter XLD
Bien compris ! Je vais modifier le nom de mes rayons.
 

Constantin

XLDnaute Occasionnel
Supporter XLD
Bien compris ! Je vais modifier le nom de mes rayons.
Bonsoir Dudu2,
J'ai testé ta nouvelle version. La colonne "A/N" est réellement très pratique par contre, je reprends ton message #52.
La version du tableau (version Vgendron) que je t'avais envoyé en amont de ma nouvelle requête fonctionnait très bien et ne se souciait pas de savoir s'il y avait plusieurs "divers" dans Rayon dès lors qu'il tenait compte de la Catégorie ce que, à première vue, ton développement ne prends pas en compte.
Je trouve que c'est dommage...
Bon, il ne me reste que deux solutions, retourner sur mon ancienne version (sans le pré-tri A/N) ou éplucher toutes mes listes pour recherche des doublons et les renommer.
Dernière question : Dans Feuil1, à quoi sert maintenant la colonne J alors que de toute évidence l'indexation de la localisation (si c'est le bon terme) ne s'effectue que sur les colonnes C et D de la feuille Listes ? Je l'ai d'ailleurs supprimée mais le code plante dans Sub IdentifierPointsCollecte (de fait, il n'y a plus de colonne "Nb" puisque tu l'as enlevée)
Bon c'est pas grave et je vais essayer de comparer mes anciennes versions avec la dernière envoyée.
Bonne soirée !
Pierre (@Constantin)
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…