Menu

Macro pour compter le nombre d'apparence d'un caractère

Yasn10 26 Messages postés vendredi 24 novembre 2017Date d'inscription 22 mars 2018 Dernière intervention - 7 déc. 2017 à 11:19 - Dernière réponse : yg_be 5854 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention
- 21 déc. 2017 à 16:57
Bonjour ,

Je souhaiterai avoir une macro qui calcule le nombre de fois qu'un mot "NT" figure chaque mois , sachant qu'il y a des cellules vides dans la colonnes des mois ,

Colonne F//Colonne G
01/2016------NT
vide-----------
vide-----------
02/2016------NT
vide-----------NT
vide-----------
02/2016------NT
vide-----------
vide-----------
03/2016------NT
vide
vide
03/2016------NT
vide-----------NT
vide-----------NT
'
'
'
J'ai essayé pas mal de formules et macros mais ça ne me calcule que les NT qui correspondent à une cellule remplie "02/2016" par exemple

Merci et Bonne journée/Soirée à tout le monde
Afficher la suite 

Votre réponse

16 réponses

Meilleure réponse
Whismeril 11642 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 7 déc. 2017 à 11:58
1
Merci
Bonjour
https://support.office.com/fr-fr/article/NB-SI-NB-SI-fonction-E0DE10C6-F885-4E71-ABB4-1F464816DF34

Merci Whismeril 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 23868 internautes ce mois-ci

Whismeril 11642 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 7 déc. 2017 à 12:22
Ha si tu ne donnes pas tous les éléments.
Là faut attendre un meilleur que moi en VBA
Yasn10 26 Messages postés vendredi 24 novembre 2017Date d'inscription 22 mars 2018 Dernière intervention > Whismeril 11642 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 7 déc. 2017 à 12:39
Merci !
yg_be 5854 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention > Yasn10 26 Messages postés vendredi 24 novembre 2017Date d'inscription 22 mars 2018 Dernière intervention - 8 déc. 2017 à 22:36
bonsoir, peux-tu donner tous les éléments?
Yasn10 26 Messages postés vendredi 24 novembre 2017Date d'inscription 22 mars 2018 Dernière intervention > yg_be 5854 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 15 déc. 2017 à 11:13
Bonjour,

Il s'agit d'un tableau de 1500 lignes et je cherche à compter le nombre de fois les "NT" figure pour chaque mois, le problème c'est que dans la colonnes des mois il y a des cellules vides , mais qui correspondent aussi à des cellules où il y a le "NT"
Yasn10 26 Messages postés vendredi 24 novembre 2017Date d'inscription 22 mars 2018 Dernière intervention - 11 déc. 2017 à 10:31
Bonjour,

Il s'agit d'un tableau de 1500 lignes et je cherche à compter le nombre de fois les "NT" figure pour chaque mois, le problème c'est que dans la colonnes des mois il y a des cellules vides , mais qui correspondent aussi à des cellules où il y a le "NT"
Commenter la réponse de Whismeril
Meilleure réponse
Frenchie83 1793 Messages postés lundi 6 mai 2013Date d'inscription 24 mai 2018 Dernière intervention - 10 déc. 2017 à 09:26
1
Merci
Bonjour,
Essayez ceci
http://www.cjoint.com/c/GLkizyyIuhw
J'utilise les colonnes J et K pour les résultats.
Cdlt

Merci Frenchie83 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 23868 internautes ce mois-ci

Frenchie83 1793 Messages postés lundi 6 mai 2013Date d'inscription 24 mai 2018 Dernière intervention > Yasn10 26 Messages postés vendredi 24 novembre 2017Date d'inscription 22 mars 2018 Dernière intervention - 15 déc. 2017 à 11:38
Bonjour,
Puisqu'il y a au moins 1500 lignes, dans un premier temps, il faut remplacer toutes les valeurs à 100 par 10000 pour être sûr de balayer toutes les lignes. Pas dit que cela soit suffisant pour régler votre problème, mais il faut bien commencer par quelque chose.
Sub Comptage()
    Dim DerLig As Long, DerLigFil As Long, L As Long, I as long
    Application.ScreenUpdating = False
    Columns("J:K").ClearContents 'on efface les précédents résultats
    
    DerLig = [G10000].End(xlUp).Row
    'On récupère la liste des mois a l'aide d'un filtre avancé que l'on colle en colonne J
    Range("F1:F" & DerLig).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("J1"), Unique:=True
    DerLigFil = [F10000].End(xlUp).Row 'Dernière Ligne du filtre
    
    'on effectue un tri ascendant pour exclure les cellules vides
    Range("J2:J" & DerLigFil).Select
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("J2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SetRange Range("J2:J" & DerLigFil)
        .Header = xlNo
        .Apply
    End With
    DerLigFil = [F10000].End(xlUp).Row 'Dernière Ligne du filtre après triage
    For i = 2 To DerLigFil
        mois = Cells(i, "J")
        'on recherche dans la colonne F le mois à traiter
        Set C = Columns("F").Find(mois, LookIn:=xlValues)
        L = C.Row
        Do While L <= DerLig
            If Cells(L, "F") <> "" And Cells(L, "F") <> mois Then GoTo MoisSuivant 'on est sur un autre mois, donc la recherche est finie pour le mois à traiter
            If Cells(L, "G") = "NT" Then Cells(i, "K") = Cells(i, "K") + 1
            L = L + 1
        Loop
MoisSuivant:
    Next i
    [K1].Select
End Sub
Yasn10 26 Messages postés vendredi 24 novembre 2017Date d'inscription 22 mars 2018 Dernière intervention > Frenchie83 1793 Messages postés lundi 6 mai 2013Date d'inscription 24 mai 2018 Dernière intervention - 21 déc. 2017 à 15:30
Merci beacoup ! maintenant il me dit "objet requis pour C = ) je ne comprend pas pourquoi ça bloque..
yg_be 5854 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention > Yasn10 26 Messages postés vendredi 24 novembre 2017Date d'inscription 22 mars 2018 Dernière intervention - 21 déc. 2017 à 16:57
si C est déclaré comme Range, il faut peut-être faire
set C =
yg_be 5854 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention > Yasn10 26 Messages postés vendredi 24 novembre 2017Date d'inscription 22 mars 2018 Dernière intervention - 15 déc. 2017 à 20:24
on continue à te demander de définir la variable "i" ?
Yasn10 26 Messages postés vendredi 24 novembre 2017Date d'inscription 22 mars 2018 Dernière intervention > yg_be 5854 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 21 déc. 2017 à 15:31
non mais je crois que je vais essayer de tout refaire à 0 et je verrai ce qui se passera , merci beacoup
Commenter la réponse de Frenchie83