XL 2019 Compter le Nbre de ligne selon critères dans 2 colonnes - Macro VBA Excel 2019

Virginie17d

XLDnaute Occasionnel
Bonsoir à tous,

Après avoir passé un peu de temps sur mon fichier ci joint, je sèche et j'ai besoin de votre aide.
Voici le contexte, je sors toutes les semaines des données, j'ai besoin selon le critère de certaines lignes de connaitre le nombre de réservation par équipe.
Actuellement, j'ai créer un Ruban
1644438847932.png

L'onglet ne pas toucher, permet de revenir à l'origine sur la feuil1 afin de reproduire mes tests
Les icons SuppColonnes, Tri Code Vendeur, Tri factures et Comptage Résa, fonctionne parfaitement
Les 3 derniers vous seront inutiles.
Concentrons nous sur Stats par Equipes, dans mon module Commun on s'aperçoit que cet icone déclenche un grand nombre de Sub
StatsEquipes
NbreResaFer
NbreResaHotel
NbreResaTEAM1Off
NbreResaTEAM1MyO
NbreResaVIPOff
NbreResaVIPMyO
NbreResaMINEFIOff
NbreResaMINEFIMyO
NbreResaBALIOff
NbreResaBALIMyO
NbreResaJAVAOff
NbreResaJAVAMyO
NbreResaDAEOff
NbreResaDAEMyO
Oublions l'optimisation pour le moment car je galère grave et ce qui est mit en place fonctionne pour l'instant.
Afin de créer l'onglet "STATS", il faut d'abord dérouler Supp Colonne, Tri Vendeur, Tri Facture et Ensuite seulement Stats Equipes. Mon souhait est de pouvoir récupérer le nombre de ligne selon un critère de la feuil1 colonne E et un second dans la colonne L
Ex : Si ACCOMMODATION (colonne E) et 1 (Colonne E) alors je renvois dans l'onglet Stats cellule B13
et Si ACCOMMODATION (colonne E) et 11(Colonne E) alors je renvois dans l'onglet Stats cellule B14
La cellule B14 doit calculer le taux d'utilisation donc en %
et la dernière condition une fois que les tableaux sont renseignés
Si valeur entre 0 et 25% alors la valeur doit être en Rouge
Si valeur entre 26 et 49% alors la valeur doit être en Orange
Si valeur entre 50 et 100% alors la valeur doit être en Vert

Voilà!!!! désolée pour le pavé mais je voulais être sure d'être le plus claire possible et encore une fois je sais que c'est loin d'être optimisé le but est d'arriver au résultat n'est ce pas ;-)
 
Solution
Bonjour à tous,

Afin de ne pas laisse ce fil d'actualité sans réponse, voici la solution que j'ai trouvé

Sub ResaRailMyOVIP()
'déclaration de la variable
Dim cpt

'sélection de la feuille
Sheets("Feuil1").Select
'Colonne 5, mot commençant par "Rail"
ActiveSheet.Range(Selection, Selection.End(xlDown)).AutoFilter Field:=5, Criteria1:="RAIL*"
'Colonne 12, mot "22"
ActiveSheet.Range(Selection, Selection.End(xlDown)).AutoFilter Field:=12, Criteria1:="22"
Range("E2").Select
'compte le nombre de ligne avec ces 2 critères
cpt = Range(Selection, Selection.End(xlDown)).SpecialCells(xlCellTypeVisible).Count
'retranscrit le nombre trouver de ligne dans la feuille "Stats" en cellule C13...

Virginie17d

XLDnaute Occasionnel
Le voici, je suis désolée il était trop volumineux et je n'avais pas prêter attention, je l'ai réduit en terme de nombre de lignes. car il y en avait prêt de 10 000.
 

Pièces jointes

  • Extraction Brut _ Macro VBA V1(Test).xlsm
    826.7 KB · Affichages: 2

Virginie17d

XLDnaute Occasionnel
Bonjour à tous,

Afin de ne pas laisse ce fil d'actualité sans réponse, voici la solution que j'ai trouvé

Sub ResaRailMyOVIP()
'déclaration de la variable
Dim cpt

'sélection de la feuille
Sheets("Feuil1").Select
'Colonne 5, mot commençant par "Rail"
ActiveSheet.Range(Selection, Selection.End(xlDown)).AutoFilter Field:=5, Criteria1:="RAIL*"
'Colonne 12, mot "22"
ActiveSheet.Range(Selection, Selection.End(xlDown)).AutoFilter Field:=12, Criteria1:="22"
Range("E2").Select
'compte le nombre de ligne avec ces 2 critères
cpt = Range(Selection, Selection.End(xlDown)).SpecialCells(xlCellTypeVisible).Count
'retranscrit le nombre trouver de ligne dans la feuille "Stats" en cellule C13
Sheets("STATS").Range("C13").Value = cpt

End sub
 

Discussions similaires

Réponses
3
Affichages
227

Statistiques des forums

Discussions
315 093
Messages
2 116 122
Membres
112 666
dernier inscrit
Coco0505