Créer des filtres par UserForm

Résolu/Fermé
Looping38 Messages postés 91 Date d'inscription samedi 22 octobre 2016 Statut Membre Dernière intervention 20 juillet 2020 - 5 juil. 2018 à 11:57
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 - 10 déc. 2018 à 13:03
Bonjour,
Je souhaite créer des filtres par un userform.
Il y aura 6 filtres qui iront masquer des colonnes si la valeur d'une ligne (pour chaque colonne) est dans une fourchette de valeur par rapport au niveau sélectionné par le OptionButton.

Ci-dessous le Userform



Sur l'exemple ci-dessus:
La première ligne niveau 3 cochée devra masquer toutes les colonnes à partir de la colonne G (ou 7) et jusqu'à 100 de la ligne 14 dont la valeur est < à 300 et > à 399
La 2ème ligne le niveau 2 cochée devra masquer toutes les colonnes à partir de la colonne G (ou 7) et jusqu'à 100 de la ligne 34 dont la valeur est < à 200 et > à 299
...
Dans l'idéal, je souhaiterais avoir un indicateur du nombre de colonne encore visibles au fur et à mesure. J'ai actuellement 83 colonnes au départ, mais cela peut évoluer.

Merci de votre retour.
Looping

17 réponses

via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
22 juil. 2018 à 14:20
Ok je regarde cela dès que possible
Question : Il y a des colonnes Frais réels, doivent elles rester démasquées tout le temps ?
1
Re.
Le valeur Frais réels sont les valeurs les plus hautes.
Merci.
0
Looping38 > Looping
22 juil. 2018 à 14:26
Si le filtre sélectionne les valeurs entre 200 et 300%, alors "Frais Réels" ne sera pas compris, par contre, si la sélection est de 300% à "maximum", alors frais réels sera inclus.
Suis-je assez clair ?
Merci
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
22 juil. 2018 à 18:46
Regarde si comme cela ça te convient
https://mon-partage.fr/f/flRLbpF3/

J'ai du rectifier des cellules qui au lieu d'avoir seulement un nombre avaient aussi du texte(125% BR par ex)

Pour l'instant les 2 lignes dans la macro pour Fourchette de prix sont shuntées car il n'y a que des REF en ligne 98

Les valeurs Min et Max sont modifiables dans les Propriétés des SpinButton, ainsi que le pas d’incrémentation (SmallChange)
Pour Fourchette de prix ne connaissant par les min/max j'ai mis nombres bidon

Cdlmnt
Via
1
Looping38 Messages postés 91 Date d'inscription samedi 22 octobre 2016 Statut Membre Dernière intervention 20 juillet 2020 1
10 déc. 2018 à 12:12
Bonjour Via55.
Je suis super désolé de te répondre si tardivement.

Je n'ai pas pu exploiter ta solution, entre-temps, j'ai développé d'autres fonctions sur l'excel...
J'ai mal grès tout utilisé pas mal de bouts de ta macro.

Je te remercie encore pour ta patience et ton aide.

Si cela t’intéresse, en MP, je peux te transmettre une version de l'outil développé.
Merci encore
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
5 juil. 2018 à 16:06
Bonjour Looping

Il faut partir de ton fichier pour établir un code VBA adapté
Poste un exemple de ton fichier (anonymé si nécessaire) sur mon-partage.fr, fais créer un lien que tu copies et reviens coller ici

Cdlmnt
Via
0
Looping38 Messages postés 91 Date d'inscription samedi 22 octobre 2016 Statut Membre Dernière intervention 20 juillet 2020 1
6 juil. 2018 à 08:09
Bonjour Via et merci de ton intérêt pour ma problématique.
le lien vers le fichier.
Tu aura des bug au lancement, c'est normal, j'ai enlevé les 25 autres onglets du classeur...
Il s'agit du UserForm 6
Merci encore
https://www.cjoint.com/c/HGgf4VfpM0o
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Looping38 Messages postés 91 Date d'inscription samedi 22 octobre 2016 Statut Membre Dernière intervention 20 juillet 2020 1
6 juil. 2018 à 08:43
J'ajoute une demande complémentaire :
Dans l'idéal, je souhaite ajouter un filtre par curseur comme sur l'image ci-dessous.
J'espère pas en demander trop...

Cordialement,
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
6 juil. 2018 à 13:36
Bonjour Looping

1) nommer tous les boutons options dans l'ordre
par ex ceux d'hospitalisation hc1, hc2....hc5, ceux de médecine conventionnelle mc1...mc5

2) Macro à associer au bouton Appliquer de l'UF
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim DernCol As Integer
DernCol = ActiveSheet.Cells(14, Cells.Columns.Count).End(xlToLeft).Column
nbrecol = DernCol - 6
For n = 7 To DernCol
For x = 1 To 5
If Me.Controls("hc" & x) = True Then
If Cells(14, n) < x Or Cells(14, n) >= x + 1 Then Columns(n).Hidden = True: nbrecol = nbrecol - 1
End If
If Me.Controls("mc" & x) = True Then
If Cells(34, n) < x Or Cells(14, n) >= x + 1 Then Columns(n).Hidden = True: nbrecol = nbrecol - 1
End If
'mettre ici les IF pour les autres option button
Next x
Next n
Application.ScreenUpdating = True
MsgBox "Reste " & nbrecol & " colonnes"
End Sub


Je te laisse le soin de la compléter pour les autres Option Button

3) Macro à associer à un bouton sur la feuille pour rendre visible toutes les colonnes :
Application.ScreenUpdating = False
Dim DernCol As Integer
DernCol = ActiveSheet.Cells(14, Cells.Columns.Count).End(xlToLeft).Column
For n = 7 To DernCol
 Columns(n).Hidden = False
 Next
 Application.ScreenUpdating = True


Par contre je ne comprends ton histoire de filtre supplémentaire, il devrait remplacer les Options BUtton ou être en plus ? et sur quels critères ?

Cdlmnt
Via



0
Bonjour Via.
J'ai fais l'ensemble des modifications.
J'ai un souci :
La valeur X est toujours de 1 à 5, alors que je souhaite que la valeur soit dans une fourchette (d'où ma question précédente de curseur) en fonction des données de la ligne à filtrer.
Par exemple, dans la ligne 14, les garanties sont exprimées en % du BR, le format de la cellule est automatisé. Si je coche le OptionButton sur 2, je souhaite filtrer uniquement les colonnes de la ligne qui ont une valeur entre 200% et 300%.
Pour la 3ème sélection, je souhaite en cochant 3, avoir les colonnes ayant des garanties entre 150 € et 200 €....
Merci d'avance
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
22 juil. 2018 à 10:58
Bonjour Looping

Renvoie moi ton fichier via mon-partage.fr puisqu'il y a des macros
0
Le voilà : https://mon-partage.fr/f/fggo6Abb/
0
Malgré mon adaptation, j'ai quand même des bugs.
Le nombre de formules restantes est pas bon.
Effectivement, le remplacement des OptionButton par des curseurs serait la bonne chose.
Comme sur ce lien pour la partie tarif : https://www.vous-assurer.fr/mutuelle-sante-offres-detaillees?uuid=ddbb8bfd-6675-4278-bd78-a9a7839bfcdc
0
Looping38 Messages postés 91 Date d'inscription samedi 22 octobre 2016 Statut Membre Dernière intervention 20 juillet 2020 1
22 juil. 2018 à 21:22
Bonjour Via et UN GRAND MERCI pour cette collaboration à mon travail.
Je suis sur un ferry la journée de demain, j'aurais le temps de travailler dessus. Par contre, je serais sans connexion.
Je te tiens au courant Mardi dans la journée.
Cela correspond manifestement à mon besoin.
Je me demande s'il ne va pas y avoir de conflit avec la macro "Bouton23_Cliquer" qui permettait de masquer les solutions que je ne souhaite pas présenter.
Un grand merci encore.
Looping
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
Modifié le 22 juil. 2018 à 23:12
Ah tu ne m'en avais pas parlé !
Remplace le If de la macro du bouton 23 par
If Cells(123, x) <> "x" Then Columns(x).Hidden = True
et ça ne devrais plus poser de problème

Par contre j'avais désactivé des parties de tes macros pour avoir accès au ruban et j'ai oublié de réactiver, ne t’inquiète pas ce n’est pas un bug!
Et je m'aperçois que j'ai laisé dans 2 lignes de la macro associée à la nouvelle userform 2 instructions Msgbox que j’avais mise pour contrôler et qu'il faut supprimer bien sûr

Cdlmnt
Via


0
Looping38 Messages postés 91 Date d'inscription samedi 22 octobre 2016 Statut Membre Dernière intervention 20 juillet 2020 1
23 juil. 2018 à 14:08
Re bonjour.
Avant d'embarquer dans le bateau, pour que cela soit compatible avec ma première fonction (Les X dans les cases), je pense qu'il faudrait que les filtres qui excluent les colonnes y mettent un X ligne 123 et lancent la macro "Bouton23_Cliquer". Comme ça plus de soucis.
Si tu as ce message d'ici mon départ (15h)...
Merci d'avance.
0
Looping38 Messages postés 91 Date d'inscription samedi 22 octobre 2016 Statut Membre Dernière intervention 20 juillet 2020 1
23 juil. 2018 à 14:17
Pour rappel, le fait de mettre un X ligne 23 permet de cacher manuellement les colonnes en question.Il s'agit d'un pré-tri.
0
Looping38 Messages postés 91 Date d'inscription samedi 22 octobre 2016 Statut Membre Dernière intervention 20 juillet 2020 1
23 juil. 2018 à 14:18
ligne 123...
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
Modifié le 23 juil. 2018 à 14:46
Bonjour

Essaie ainsi oui et si ça ne va pas tu me fais signe à ton retour

0
Looping38 Messages postés 91 Date d'inscription samedi 22 octobre 2016 Statut Membre Dernière intervention 20 juillet 2020 1
10 déc. 2018 à 12:13
Bonjour Via55.
Je suis super désolé de te répondre si tardivement.

Je n'ai pas pu exploiter ta solution, entre-temps, j'ai développé d'autres fonctions sur l'excel...
J'ai mal grès tout utilisé pas mal de bouts de ta macro.

Je te remercie encore pour ta patience et ton aide.

Si cela t’intéresse, en MP, je peux te transmettre une version de l'outil développé.
Merci encore.
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
10 déc. 2018 à 13:03
Bonjour Looping

Oui envoie moi l'outil développé en mp cela m'intéresse fortement ☺

Bonne continuation
0