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

Autres Filtre sur colonnes multiples

  • Initiateur de la discussion Initiateur de la discussion Michel1942
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Michel1942

XLDnaute Nouveau
Bonjour à tous,



J’ai le problème suivant en VBA sous excel 2003.


Je voudrais filtre sur place un tableau sur deux colonnes non contigües si les cellules sont vides dans les deux colonnes simultanément.
Les colonnes ne sont pas fixes et doivent être sélectionnées avant de lancer la macro.
Le bouton de lancement existe déjà dans ma barre d’outils.
Je joint un exemple de fichier où filtrer les colonnes B et E mais pas forcément.

Je sais faire le filtre sur une colonne.

Merci d’avance pour vos propositions.
 

Pièces jointes

Désolé de ne pas répondre à tous les post mais j'ai attrapé le Covid avec la totale et je suis en mode veille. Enore merci à tous pour vos réponses,
 
Et donc toujours pas de retour sur ma macro de #17, qu'on retrouve dans la pièce jointe de #24 pour te faciliter son test ?!?

Ni sur #22 qui répond pourtant exactement à ta question de #12 en te montrant une façon de récupérer les numéros des colonnes sélectionnées ?
 
Dernière édition:
Bonsoir Michel, Marcel,

je te retourne le fichier de ton post #35 modifié ; utilisation identique ➯ fais comme d'habitude : fais Ctrl f puis ensuite, sélectionne avec la souris tes 2 colonnes. 🙂 bien sûr, tu pourras aussi toujours faire Ctrl d pour démasquer tes lignes masquées. 😉



code VBA de Module3 (28 lignes) :

VB:
Option Explicit

Sub Filtre_2_colonnes()

  Dim ref As Range, chn$, ColAct1%, ColAct2%, DerLigne&, i& 'Déclaration des variables
 
  'Sélectionner les 2 colonnes avec la souris
  Set ref = Application.InputBox(prompt:="Choisir les 2 colonnes avec la souris", Type:=8)
  chn = ref.Address(0, 0) 'avec (0,0) : adresse plus simple car sans les $ ; ex : B:B,E:E
 
  If Len(chn) = 7 Then 'Vérifier si le nombre de caractères de la saisie est correct
    
    'Extraire les numéros des 2 colonnes
    ColAct1 = Columns(Split(chn, ",")(0)).Column
    ColAct2 = Columns(Split(chn, ",")(1)).Column
    
    DerLigne = Cells(Rows.Count, 1).End(xlUp).Row: Application.ScreenUpdating = 0
    
    'Garder les deux lignes d'entête
    For i = 3 To DerLigne
      'Si cellules vides dans les 2 colonnes choisies, masquer la ligne
      If IsEmpty(Cells(i, ColAct1)) And IsEmpty(Cells(i, ColAct2)) Then Rows(i).Hidden = True
    Next i
  End If
  Application.Goto [A1], True 'Retour au début

End Sub

code VBA de Module1 (8 lignes) :

VB:
Option Explicit

Sub Démasquer()
  Dim DerLigne&
  DerLigne = Cells(Rows.Count, 1).End(xlUp).Row
  Rows("1:" & DerLigne).Hidden = 0: [A1].Select
End Sub

soan
 

Pièces jointes

Plus de 72 heures après l'envoie de sa macro en première ligne sur le front du forum, Marcel32 est toujours sans nouvelles d'elle !
Fonctionne-t-elle ?
Est-elle HS ?

Peut-être des nouvelles à venir dans les prochaines heures ???
Tout espoir n'est pas encore perdu.

En attendant, prions le dieu du café expresso.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
698
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…