XL 2016 Recherche d'un texte dans plusieurs feuillet et addition des valeurs correspondant au texte pour réaliser des analyses.

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

Adri65270

XLDnaute Nouveau
Bonjour,

Tout d'abord merci d'avance pour votre aide.
Je cherche à faire un fichier pour que mes collaborateurs puissent remplir les taches de travail hebdomadaire par feuillet.
Pour ma part dans l'onglet récap, je souhaite que par exemple par famille ou codex obtenir une récupération des données de la colonne temps de chaque feuillet et pouvoir faire la somme de toutes ces lignes par familles ou codex.
J'ai essayé plein de formule mais mon niveau est limité.

Pouvez vous m'aider?

Je vous remercie.

Adrien.
 

Pièces jointes

Solution
Bonjour,
Si j'ai bien compris vous voulez faire la somme sur toutes les feuilles qui auraient sur une même ligne les deux critères ?
Donc un Equiv ou RechercheV ne suffiront pas.
Ces fonctions permettrait par ex de faire la somme des deux totaux présent sur Recap, mais de façon indépendante, non pas s'ils étaient liés.
Un ex en PJ, la macro s'exécute automatiquement lorsqu'on change un des deux critères, avec :

VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("AE15:AE19")) Is Nothing Then
         Dim Critère1, Critère2, Resultat, F
         On Error GoTo Fin:
         Application.ScreenUpdating = False
            Critère1 = [AE15]: Critère2 = [AE19]: Resultat = 0
            For Each F In Worksheets...
Bonjour Adri,
Un essai en PJ avec la macro événementielle :
VB:
Sub Worksheet_Activate()
    Dim L%, F, Famille, Codex
    Application.ScreenUpdating = False
    For L = 10 To 14
        Famille = 0
        For Each F In Worksheets
            With Sheets(F.Name)
                Famille = Famille + Application.SumIfs(.Range("AH10:AH55"), .Range("G10:G55"), Cells(L, "C"))
            End With
        Next F
        Cells(L, "W") = Famille
    Next L
    For L = 20 To 48
        Codex = 0
        For Each F In Worksheets
            With Sheets(F.Name)
                Codex = Codex + Application.SumIfs(.Range("AH10:AH55"), .Range("K10:K55"), Cells(L, "C"))
            End With
        Next F
        Cells(L, "W") = Codex
    Next L
End Sub
La macro s'exécute automatiquement quand on sélectionne la feuille RECAP.
 

Pièces jointes

Sylvanu , le résultat est top. Je n'aurais jamais réussi avec la macro. J'ai réussi à l'agrandir sur les tableaux c'est vraiment génial !
le fait de vouloir faire des recherches à partir de 2 listes déroulantes pour combiner le résultat de tout les feuillet nécessite une macro ou bien les fonctions rechercheV ou equiv suffirait? J'ai remis l'exemple en PJ

En tout cas le principal est réussi à merveille 😉 .

Merci encore

Adrien
 

Pièces jointes

Bonjour,
Si j'ai bien compris vous voulez faire la somme sur toutes les feuilles qui auraient sur une même ligne les deux critères ?
Donc un Equiv ou RechercheV ne suffiront pas.
Ces fonctions permettrait par ex de faire la somme des deux totaux présent sur Recap, mais de façon indépendante, non pas s'ils étaient liés.
Un ex en PJ, la macro s'exécute automatiquement lorsqu'on change un des deux critères, avec :

VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("AE15:AE19")) Is Nothing Then
         Dim Critère1, Critère2, Resultat, F
         On Error GoTo Fin:
         Application.ScreenUpdating = False
            Critère1 = [AE15]: Critère2 = [AE19]: Resultat = 0
            For Each F In Worksheets
                With Sheets(F.Name)
                    Resultat = Resultat + Application.SumIfs(.Range("AH10:AH111"), .Range("G10:G111"), Critère1, .Range("K10:K111"), Critère2)
                End With
            Next F
        [AE23] = Resultat
    End If
Fin:
Application.ScreenUpdating = True
End Sub
 

Pièces jointes

C'était exactement cela, votre compréhension et le résultat qui en découle est exceptionnel.
En tout cas ce que je remarque c'est qu'il est dur pour des amateurs de voir la limite entre les formules excel et l'utilisation de macros.
En tout cas le résultat est la.
Merci encore 🙂
 
- 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

Retour