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

Autres Filtre sur colonnes multiples

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

  • Test2.xls
    42.5 KB · Affichages: 9

Michel1942

XLDnaute Nouveau
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,
 

Michel1942

XLDnaute Nouveau
Malgré tout j'ai essayé de résoudre mon problème. Voilà le résultat ave ctr f pour filtrer et ctr d pour démasquer. Encore merci à tous pour votre "dévouement" et toutes mes amitiés.
 

Pièces jointes

  • Test2_fin.xls
    60.5 KB · Affichages: 3

TooFatBoy

XLDnaute Barbatruc
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:

soan

XLDnaute Barbatruc
Inactif
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

  • Test2_fin.xls
    75.5 KB · Affichages: 3

TooFatBoy

XLDnaute Barbatruc
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.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…