XL 2016 Userform

solgti

XLDnaute Junior
Bonjour, j'ai un Userform simple qui a des valeurs par défaut (case à cocher et bouton option) et qui lance une fonction de filtre à l'ouverture.
lorsque je viens d'ouvrir le fichier le filtre se fait bien selon les cases et options cochées, par contre lorsque je réouvre le userform le filtre ne se fait pas.
Aussi, si lors de l'ouverture je change les cases à cocher et les options et que je ferme l'interface, à la réouverture il a garder mes derniers choix, mais je voudrais qu'il revienne avec les défauts.
Est-ce que vous pouvez me dépanner SVP?
merci
 

Pièces jointes

  • Test#2.xlsm
    32.3 KB · Affichages: 32

Lone-wolf

XLDnaute Barbatruc
Bonsoir solgti

Il faut enlever la macro dans initialize, et pour le bouton fermer, il ne faut pas ajouter les colonnes.

VB:
Private Sub UserForm_Initialize()
BQ1.Value = False
BQ2.Value = False
BQ3.Value = False
P1.Value = False
P2.Value = False
P3.Value = False
Sheets("Feuil1").ListObjects("Tableau_Source").Range.AutoFilter
End Sub


Private Sub Ferme_Click()
Sheets("Feuil1").ListObjects("Tableau_Source").Range.AutoFilter
UserForm1.Hide
End Sub

Si dans la boucle il n'y a pas d'action qui se fait, pourquoi l'ajouter??? :rolleyes:
For Each a In Worksheets("Feuil2").Range("A1:A" & DernLigne)
Next

Et dans la macro, ajoute ces lignes.

Sub FiltreBanque()
Application.ScreenUpdating = False
Le code
"
"
"
Application.ScreenUpdating = True
End Sub

EDIT: (Comme... pas de réponse) ton fichier en retour avec les modifications.
 

Pièces jointes

  • Test#2.xlsm
    33.6 KB · Affichages: 37
Dernière édition:

solgti

XLDnaute Junior
Bonjour, surement que mon explication n'était pas très clair, mais comment puis-je faire pour qu'à l'ouverture du Userform les 3 banques soient sélectionnées, que Pers_1 soit sélectionné et que le filtre du tableau s'exécute et qu'il filtre selon les critères sélectionnés?
Pour la boucle inutile, c'était du code que je commençais et que j'avais oublié de mettre en commentaire.
merci
solgti
 

Lone-wolf

XLDnaute Barbatruc
Re
Chez moi ça fonctionne. Sinon essaie comme ceci

VB:
Private Sub UserForm_Initialize()
Dim cbk(1 to 3) As Control, opt(1 to 3) As Control

set cbk(1) = BQ1: set cbk(2)= BQ2: set cbk(3) = BQ3
set  opt(1) = P1: set  opt(2)= P2: set  opt(3) = P3

cbk(1).Value = True
cbk(2).Value = True
cbk(3).Value = True

opt(1).Value = True
opt2).Value = False
opt(3).Value = False
Call FiltreBanque
End Sub
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote