Filtre "automatique" dans listbox d'un userform

oui je me suis un peu emballé lol qui pouvant le plus peu le moins

mais effectivement je n'y avais pas pensé à l'origine.

oui vous avez raison c'est plus simple, mais pour l'utilisateur moins sympa qu'on ferme l'USF.

je n'ai pas modifier des textbox en combobox car je pense qu'il faut modifier le code d'initialisation (?) mais ça rendrait les données justes et non manuelles :

For i = 1 To ncol - 1
    Me.Controls("Textbox" & i).AutoSize = True
Next i

je n'ai pas modifier des textbox en combobox

1. Il faut juste remplacer la textbox4 par une combobox
Ce que je dois savoir pour modifier ce sont les données que vous pouvez avoir dans la combo : Supp, modif, CP et M ?

2. Aussi il n'y aura que la feuille Saisie dans le fichier ?

3. Je vois dans votre fichier que vous avez rajouté des boutons. Afin que je ne fasse pas de travail pour rien pourriez-vous me dire à quoi ils servent ?

Ne me replacez par un fichier. J'ai le dernier dans lequel j'ai dû amender en fonction du premier dans lequel j'avais effectué des modifications

bonjour,

1. je viens de créer une ComboBox = ComboBox1 pour les motifs suivant :

Code
ALD
CM
CP
Cprov
CS
D
F
M

2. non le classeur final est composé d'autres feuilles qui n'influent pas sur la feuille "Saisie"

3. les boutons à utiliser sont :

image14 = Supprimer

image12 = Valider

image13 = Abandonner

Bonjour

1. je viens de créer une ComboBox = ComboBox1 pour les motifs suivant :

Ok. Je vais la créer sur votre fichier posté et vous le renverrai après modifications.
Je suppose que vous n'avez pas créé un tableau spécifique avec tous les codes dans une nouvelle feuille ?

3. les boutons à utiliser sont :

Ok mais quid des 5 boutons que vous avez ajoutés ? A ne pas considérer si je comprends

j'ai rajouté une feuille "jours" où j'ai mis un tableau structuré qui se nomme "motif" avec les différents codes.

les 5 boutons sont effectivement inutiles, j'ai oublié des les supprimer (ils étaient là de version d'origine du fichier récupéré)

j'ai rajouté une feuille "jours" où j'ai mis un tableau structuré qui se nomme "motif" avec les différents codes.

Ok. Quel est le titre que vous avez mis ?

1. Ce que vous pouvez faire, c'est supprimer la textbox4 et renommer la textbox5 et textbox4

2. J'ai votre userform comme ceci ou la textbox4 est supprimée et la textbox5 renommée en textbox4

image

3. Le bouton abandonner est juste pour ferme l'USF je suppose ?
4. L'ajout de ligne si modification, vous la voulez à la fin du tableau ou au début ?

le titre de ma combobox, c'est ComboBox1 mais on peut l'identifier comme Motif aussi.

le bouton abandonner ferme "juste" l'USF.

pour l'ajout de ligne en modification, en fin de tableau ça sera parfait.

Dans votre liste il faut prévoir le cas SUPP aussi sans quoi vous ne pourrez pas mettre cette option dans la combo pour supprimer la ligne de la listbox

L'idée est celle-ci :
- si SUPP dans la combo, on rend le bouton Valider inaccessible, seul le bouton Supprimer est utilisable. Le code mettra juste un SUPP en colonne D de la ligne concernée et la date en dernière colonne
- Si pas SUPP dans la combo, le bouton Valider est accessible et pas le bouton Supprimer. Le code ajoutera une ligne à la fin du tableau. Par contre dans ce cas, que dois-je ajouter au niveau de la ligne d'origine ? une date en colonne M pour indiquer que cette ligne à été modifiée ?

Autre solution, si SUPP dans la combo et que l'on appuie sur Valider le code informe que l'on ne peut Valider sur un choix SUPP

bonjour Dan,

dans liste box je ne compte pas mettre le SUPP car ce n'est pas un choix possible par l'utilisateur, l'outil gère automatiquement le statut par le bouton "supprimer".

ça évite les différents choix sur le bouton "valider". Au même titre le statut MODIF qui se positionne lors du bouton "MODIFIER"

Bonjour

dans liste box je ne compte pas mettre le SUPP car ce n'est pas un choix possible par l'utilisateur, l'outil gère automatiquement le statut par le bouton "supprimer".

Hum...effectivement vous me l'aviez dit avant. Désolé. Oubliez mon post précédent. J'ai zappé..
Donc le bouton Supprimer aura juste la fonction de supprimer la ligne dans la listbox, et mettre la date en colonne M et la mention supp dans la colonne D

ça évite les différents choix sur le bouton "valider". Au même titre le statut MODIF qui se positionne lors du bouton "MODIFIER"

Le statut Modif ? Il n'y a rien à ce sujet et pas de bouton modifier sur votre USF. Revoyez ma vue dans le post précédent que vous avez validée
Pour modifiez, le principe est que vous sélectionnez une ligne dans la listbox puis vous modifiez les textbox ou combo et ensuite vous validez pour reporter l'info dans la feuille en créant une nouvelle ligne.

Si ok, on passe à la recherche

effectivement pas de bouton "modifier" c'est le bouton "VALIDER" qui valide la modification.

à la validation de la modification, le motif de l'ancienne ligne passe à Modif et on génère une nouvelle ligne en dessous du tableau (dernière ligne)

Pour modifiez, le principe est que vous sélectionnez une ligne dans la listbox puis vous modifiez les textbox ou combo et ensuite vous validez pour reporter l'info dans la feuille en créant une nouvelle ligne.

exactement ce principe, juste en rajoutant la notion de "modif" sur l'ancienne ligne.

ok pour la recherche ;)

à la validation de la modification, le motif de l'ancienne ligne passe à Modif

Heu non, si par exemple vous avez CP dans la combo et que vous mettez M vous ne verrez pas Modif mais M en colonne 4.
ou alors vous devez me dire où cela se place

Autre point, je suppose que l'on ne peut valider quelque chose que si et uniquement si vous modifiez la combo ou on peut Valider uniquement une modification de date par exemple sans toucher à la combo ?


Point recherche : Dans le recherche je suppose que l'on suit la même règle à savoir que la listbox ne doit pas afficher les lignes si la colonne 4 contient les mots Supp, modi ou vide ?

le but de la nouvelle ligne lors de la validation de la modification c'est de pouvoir voir l'historique de la saisie, et de passer l'ancienne ligne à "modif" en colonne 4, elle n'apparaitra plus dans l'USF.

on peut modifier la combo et les textbox des dates.

par rapport à la recherche, j'aimais bien le principe de la version d'origine à savoir pouvoir faire une recherche sur les 5 colonnes de l'USF (dates, qui, motif ou période)

on peut modifier la combo et les textbox des dates.

1. Ok mais ma question était plus nuancée. Et là je avoir votre avis

2. Pour la recherche, cela ne répond pas à la question que je vous ai posée

3. En supplément je me demande si la période ne devrait pas être une combo plutôt qu'une textbox ... Si oui, je rajouterais une liste dans la feuille Jours pour les possibilités. Cela impliquerait une modification dans le fichier que je vous prépare

Heu non, si par exemple vous avez CP dans la combo et que vous mettez M vous ne verrez pas Modif mais M en colonne 4.

ou alors vous devez me dire où cela se place

Autre point, je suppose que l'on ne peut valider quelque chose que si et uniquement si vous modifiez la combo ou on peut Valider uniquement une modification de date par exemple sans toucher à la combo ?

on ne peut valider que s'il y a une modification de dates, motif (combo), si pas de modif, on ne fait rien.

comme sur la modification on génère une nouvelle ligne avec toutes les données (j'aurai les dates, le motif, et la période et pour qui) et j'aimerai que l'ancienne ligne le motif passe à "modif"

pour la recherche

Point recherche : Dans le recherche je suppose que l'on suit la même règle à savoir que la listbox ne doit pas afficher les lignes si la colonne 4 contient les mots Supp, modi ou vide ?

c'est exactement ça, on suit la régle déjà en place (d'où l'utilité de mettre le motif supp en suppression et celui de mettre modif sur l'ancienne ligne lors de la validation de la modification et de la création de la nouvelle ligne.

pour la période, je préfère en saisie libre ou le "plus" serait d'intégrer un calendrier automatique en plus de la saisie libre, pour faire choisir une date, mais là, c'est largement au delà de mes compétences. (j'avais récupéré un calendrier, mais je n'arrive pas à le faire pointer vers les textbox pour afficher soit la saisie manuelle soit la sélection dans le calendrier dans la textbox)

on ne peut valider que s'il y a une modification de dates, motif (combo), si pas de modif, on ne fait rien.
comme sur la modification on génère une nouvelle ligne avec toutes les données (j'aurai les dates, le motif, et la période et pour qui) et j'aimerai que l'ancienne ligne le motif passe à "modif"

Donc je considère que si vous ne modifiez pas la combo on ne peut pas valider.

un des trois items : combo ou les 2 textbox, mais pas uniquement la combo. il peut y avoir une erreur sur les dates uniquement

un des trois items : combo ou les 2 textbox, mais pas uniquement la combo. il peut y avoir une erreur sur les dates uniquement

Ok. A l'ouverture de l'usf le bouton Valider sera désactivé. Il sera activé sur changement d'une valeur dans une des textbox ou dans la combo et ce par rapport à la valeur trouvée en listbox

impeccable encore mieux cette approche ;)

Votre fichier en retour. Repartez bien de celui là.

Recherche : la liste s'adapte dès que vous entrez une lettre dans la textbox. La recherche est effectuée sur 5 premières colonne. Bien que la colonne Qui n'est pas mentionnée dans la listbox mais la recherche s'effectue aussi sur cette valeur.
Lorsque vous n'avez pas de valeur dans la textbox recherche, la listbox est de nouveau affichée

Valider : Il faut sélectionner une ligne de la listbox. pour afficher les données dans les textbox et combo et que vous pouvez modifier. Le bouton Valider n'est actif que si vous modifiez quelque chose dans les textbox et combo. Le cas échéant il est inactif.
Lorsque vous validez, les textbox et combo sont vidées et la listbox est réactualisée, une ligne nouvelle est ajoutée à la feuille. La mention "modif" est ajoutée sur l'ancienne ligne.

Supprimer : le bouton est toujours actif mais vous devez sélectionner une ligne dans la listbox. La suppression supprime la ligne dans la listbox et ajoute les infos en colonne M

Je pense avoir tout expliqué...

5iqd3.xlsm (43.91 Ko)

Cordialement

Rechercher des sujets similaires à "filtre automatique listbox userform"