Menu

Créer des filtres par UserForm [Résolu]

Messages postés
91
Date d'inscription
samedi 22 octobre 2016
Dernière intervention
17 décembre 2018
- - Dernière réponse : via55
Messages postés
10272
Date d'inscription
mercredi 16 janvier 2013
Dernière intervention
22 février 2019
- 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

Afficher la suite 

Votre réponse

17 réponses

Meilleure réponse
Messages postés
10272
Date d'inscription
mercredi 16 janvier 2013
Dernière intervention
22 février 2019
1318
1
Merci
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 ?

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 56240 internautes nous ont dit merci ce mois-ci

Re.
Le valeur Frais réels sont les valeurs les plus hautes.
Merci.
> Looping -
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
Commenter la réponse de via55
Messages postés
10272
Date d'inscription
mercredi 16 janvier 2013
Dernière intervention
22 février 2019
1318
1
Merci
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

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 56240 internautes nous ont dit merci ce mois-ci

Looping38
Messages postés
91
Date d'inscription
samedi 22 octobre 2016
Dernière intervention
17 décembre 2018
1 -
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
Commenter la réponse de via55
Messages postés
10272
Date d'inscription
mercredi 16 janvier 2013
Dernière intervention
22 février 2019
1318
0
Merci
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
Commenter la réponse de via55
Messages postés
91
Date d'inscription
samedi 22 octobre 2016
Dernière intervention
17 décembre 2018
1
0
Merci
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
Commenter la réponse de Looping38
Messages postés
91
Date d'inscription
samedi 22 octobre 2016
Dernière intervention
17 décembre 2018
1
0
Merci
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,
Commenter la réponse de Looping38
Messages postés
10272
Date d'inscription
mercredi 16 janvier 2013
Dernière intervention
22 février 2019
1318
0
Merci
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



Commenter la réponse de via55
0
Merci
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
Commenter la réponse de Looping38
Messages postés
10272
Date d'inscription
mercredi 16 janvier 2013
Dernière intervention
22 février 2019
1318
0
Merci
Bonjour Looping

Renvoie moi ton fichier via mon-partage.fr puisqu'il y a des macros
Commenter la réponse de via55
0
Merci
Le voilà : https://mon-partage.fr/f/fggo6Abb/
Commenter la réponse de Looping38
0
Merci
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
Commenter la réponse de Looping38
Messages postés
91
Date d'inscription
samedi 22 octobre 2016
Dernière intervention
17 décembre 2018
1
0
Merci
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
Commenter la réponse de Looping38
Messages postés
10272
Date d'inscription
mercredi 16 janvier 2013
Dernière intervention
22 février 2019
1318
0
Merci
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


Commenter la réponse de via55
Messages postés
91
Date d'inscription
samedi 22 octobre 2016
Dernière intervention
17 décembre 2018
1
0
Merci
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.
Commenter la réponse de Looping38
Messages postés
91
Date d'inscription
samedi 22 octobre 2016
Dernière intervention
17 décembre 2018
1
0
Merci
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.
Looping38
Messages postés
91
Date d'inscription
samedi 22 octobre 2016
Dernière intervention
17 décembre 2018
1 -
ligne 123...
Commenter la réponse de Looping38
Messages postés
10272
Date d'inscription
mercredi 16 janvier 2013
Dernière intervention
22 février 2019
1318
0
Merci
Bonjour

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

Commenter la réponse de via55
Messages postés
91
Date d'inscription
samedi 22 octobre 2016
Dernière intervention
17 décembre 2018
1
0
Merci
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.
Commenter la réponse de Looping38
Messages postés
10272
Date d'inscription
mercredi 16 janvier 2013
Dernière intervention
22 février 2019
1318
0
Merci
Bonjour Looping

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

Bonne continuation
Commenter la réponse de via55