XL 2013 AMELIORATION MACRO DOUBLECLICK ET FILTRES

  • Initiateur de la discussion Initiateur de la discussion THIERRY35
  • 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 !

THIERRY35

XLDnaute Occasionnel
Bonjour,

je finalise un reporting, la macro "doubleclick" étant en partie installée sur la feuille.
Elle ne fonctionne que partiellement

Le tableau recense le nombre de contrats terminés ou venant à échéance dans 30 j, ou 30 à 60 j et 60 à 90.

On double clique sur l'un des chiffres et on accède à la liste des contrats correspondants par une série de filtres : région ou ville, période d'échéance.
mais je suis bloqué sur deux problèmes ;
- le 1er critère critere1 = Cells(9, Target.Column), (région ou ville) ne se trouve pas dans la même colonne dans la base
- je ne sais pas écrire le code qui correspond au filtre entre 30 et 60 jours et entre 61 et 90 j

Ci-joint extrait du tableau.

Merci de votre aide
 

Pièces jointes

Bonjour Thierry,


aller chercher les critères avant de changer de feuille serait sans doute un peu plus logique


Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Application.Intersect(Target, Range("B13:G17")) Is Nothing Then
  critere1 = Cells(9, Target.Column)
  critere2 = Cells(1, 2)
 
Sheets("BASE").Select

ActiveSheet.Range("$A$1:$E$10000").AutoFilter Field:=2, Criteria1:=critere1
ActiveSheet.Range("$A$1:$E$10000").AutoFilter Field:=5, Criteria1:=critere2
     
End If

End Sub

à+
Philippe
 
Bonjour phlaurent55,
je m'étais inspiré d'un code de Pierrejean d'une autre discussion.
ton code fonctionne également mais toujours que sur le critère "région"
je modifie ton code (critère1 et rajoute un code pour la colonne correspond à une région)
mais ça risque de devenir laborieux à écrire
Y a t il moyen pour le simplifier ?
Merci
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Application.Intersect(Target, Range("B13:G17")) Is Nothing Then
critere1 = Cells(9, 2)
critere2 = Cells(1, 2)

Sheets("BASE").Select

ActiveSheet.Range("$A$1:$E$10000").AutoFilter Field:=2, Criteria1:=critere1
ActiveSheet.Range("$A$1:$E$10000").AutoFilter Field:=5, Criteria1:=critere2


End If

If Not Application.Intersect(Target, Range("B13:G17")) Is Nothing Then
critere1 = Cells(9, 3)
critere2 = Cells(1, 2)

Sheets("BASE").Select

ActiveSheet.Range("$A$1:$E$10000").AutoFilter Field:=3, Criteria1:=critere1
ActiveSheet.Range("$A$1:$E$10000").AutoFilter Field:=5, Criteria1:=critere2

End If



End Sub

Merci
 
Re,

peut-être comme ceci mais vérifie les lignes en rouge


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Application.Intersect(Target, Range("B13:G17")) Is Nothing Then
critere1 = Cells(9, 2)
critere2 = Cells(1, 2)
critere3 = Cells(9, 3)


Sheets("BASE").Select
ActiveSheet.Range("$A$1:$E$10000").AutoFilter Field:=2, Criteria1:=critere1

ActiveSheet.Range("$A$1:$E$10000").AutoFilter Field:=5, Criteria1:=critere2

ActiveSheet.Range("$A$1:$E$10000").AutoFilter Field:=3, Criteria1:=critere3


End If

End Sub

à+
Philippe
 
- 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
Retour