XL 2016 comptage d'occurences d'un mot sur différents onglets

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

Reptor

XLDnaute Nouveau
Bonjour à tous, et merci d'avance à ceux qui prendront le temps de répondre à ce post.

Je vous explique mon problème :

J'ai décomposé un ensemble d'actions (macro) en sous-actions (micro), et j'ai créé un onglet pour chaque action macro, en détaillant dans chaque onglet le détail des actions micro. J'ai attribué le nom d'un agent en face de chaque action micro (dans une colonne 'REALISATEUR DE L'ACTION').
Je voudrais, dans un nouvel onglet, compter combien d'actions micro au total sont attribuées à un agent.
Le hic, c'est que la plage est très spéciale et que je n'arrive pas a la définir sauf en additionnant chaque plage, mais ca va être très/trop lourd. (au regard du nombre d'agents que j'ai & de l'automatisation potentielle dont je parlerais après)

En résumé, je voudrais, sur 56 onglets, compter le nombre d'occurences de "DUPONT" dans la colonne 'REALISATEUR DE L'ACTION' de chaque tableau (soit dans 56 colonnes REALISATEUR DE L'ACTION, appartenant à 56 tableaux différents répartis sur 56 onglets).

Merci d'avance !

Par ailleurs, si jamais vous avez une idée pour compter ce nombre d'occurences mais sur un nombre d'onglet indéfini, mais toujours dans des colonnes nommées 'REALISATEUR DE L'ACTION', je suis extrêmement preneur pour l'automatisation de mon outil.

Merci beaucoup, et j'espère que vos réponses aideront d'autres personnes !
 
Bonjour,

Est-ce que cette plage est toujours située dans la même colonne ?

Par exemple, pour la colonne A :

VB:
Sub test2()
  Dim Sh As Worksheet, Ctr As Long
  For Each Sh In Sheets
    Ctr = Ctr + Application.CountIf([A:A], "dupont")
  Next Sh
  MsgBox "Nombre de ""Dupont"" " & Ctr
End Sub
 
Merci pour votre réactivité !

Je n'ai pas pensé a passer par les macros, quel boulet je suis --'

Oui, cette plage sera toujours située dans la même colonne étant donné que c'est une macro qui créé les onglets.
J'essaie ça et je reviens vers vous !
Merci encore
 
Je viens de me rendre compte que ca ne compte que les occurences de l'onglet actif, pas des autres...
deux points dont je n'ai pas parlé mais :


1/ J'ai oublié de le préciser mais je veux compter toutes les occurences de DUPONT hormis dans les pages 1,2,3 et 4.
2/ Je veux retourner la valeur dans une case et qu'elle se modifie de temps réel si j'enlève une occurence (sans relancer la macro).

Merci !
 
Dernière édition:
Mets cette macro dans le module ThisWorkbook :

VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  Dim WS As Worksheet, Ctr As Long
  If (Target.Column = 1 Or Not Intersect(Target, Sh.Columns(1)) Is Nothing) And _
    Sh.Index > 4 Then
  For i = 5 To Sheets.Count
    Ctr = Ctr + Application.CountIf(Sheets(i).[A:A], "dupont")
  Next i
  Sheets(1).[A1] = Ctr
  End If
End Sub

Le résultat s'inscrit da la cellule A1 de la première feuille.

Daniel
 
Bonjour,
Si ce sont des tables structurées :
VB:
Sub compter()
    MsgBox TabCount("machin", "truc")
    MsgBox TabCount("REALISATEUR DE L''ACTION", "dupont")
End Sub
Function TabCount(Colonne As String, Valeur As String) As Variant
Dim Lo As ListObject
Dim Sh As Worksheet
    For Each Sh In Worksheets
        For Each Lo In Sh.ListObjects
            On Error Resume Next
            TabCount = TabCount + Application.CountIf(Range(Lo.Name & "[" & Colonne & "]"), Valeur)
        Next
    Next
End Function

Quand vous dites PAGE, est-ce que vous pensez Feuille(Onglet) ou bien autre chose ?
 
Je viens de vous faire un fichier test sans information personnelle.
Au final, dans l'onglet AGENT, il devrait y avoir écrit 4 en cellule D5, 3 en cellule D6 et 2 en cellule D7.
(on ne comptabilise pas les actions des onglets "Tableau de bord", "Agents", "Actions principales"
 

Pièces jointes

Allez je UP ce post :
J'ai fini par comprendre. Merci encore à vous 2 !
J'ai commenté le code (auquel on accède en cliquant sur Visual Basic Editor dans notre fichier), si jamais ca peut aider quelqu'un.
J'ai utilisé le code de danielco car il correspondait plus à mon cde mais lorsque je ferais des Tableaux structurés, j'utiliserais celui de fanch55 pour comprendre !
J'ai laissé quelques commentaires pour moi (2 points à éclaircir : un pour rectifier une plage qui n'est pas prise en compte et un parce que je n'ai pas compris l'action.)

Merci encore à vous 2 et j'espère que ce post aidera du monde !

P.S. : vous pouvez réutiliser ce tableau/outil !
 

Pièces jointes

Allez je UP ce post :
J'ai fini par comprendre. Merci encore à vous 2 !
J'ai commenté le code (auquel on accède en cliquant sur Visual Basic Editor dans notre fichier), si jamais ca peut aider quelqu'un.
J'ai utilisé le code de danielco car il correspondait plus à mon cde mais lorsque je ferais des Tableaux structurés, j'utiliserais celui de fanch55 pour comprendre !
J'ai laissé quelques commentaires pour moi (2 points à éclaircir : un pour rectifier une plage qui n'est pas prise en compte et un parce que je n'ai pas compris l'action.)

Merci encore à vous 2 et j'espère que ce post aidera du monde !

P.S. : vous pouvez réutiliser ce tableau/outil !
Bonjour,
Je ne comprends pas ce que tu veux. Peux-tu expliquer ?
Daniel
 
- 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
8
Affichages
1 K
Retour