SumProduct VBA mutli feuil

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

Maivas

XLDnaute Junior
Bonjour à tous,

Voici de quoi faire chauffer un peu vos méninges par ce temps hivernal.
Je voudrais calculer via un sommeprod l’ensemble des données de plusieurs feuilles d’un même classeur. C’est donné étant les absences remplies dans un calendrier.
Le nombre de feuille est variable puisque je dois ajouter une nouvelle feuille tous les 6 mois.
Selon moi, deux boucles imbriquées semble être la solution par contre je pense que je rencontre un problème sur la syntaxe du sumproduct si cher à mon cœur.

Voici un extrait du code :
Code:
    'Je définis un plage de Nom
    Set Plage = Range("E11:E20")
   
    For Each Cellule In Plage
        
    'Je vide ma variable AValider
    AValider = 0
    
        'Je boucle sur les feuilles répondant à 2 critères
        For Each Sh In Worksheets
            If Sh.Name Like Target & "|*" And Cellule.Offset(0, -1) <> "" Then
            
            'Je définis mes plages
            'Mois
            Set Plage1 = Worksheets(Sh.Name).Range("$F$12:$GG$12")
            'Nom
            Set Plage2 = Worksheets(Sh.Name).Range("$D$20:$D$40")
            'Les données des absences > [ALL],[AM],[PM]
            Set Plage3 = Worksheets(Sh.Name).Range("$F$20:$GG$40")
            
            'SommeProd - essai seulement avec [ALL]
            AValider = Evaluate("sumproduct((" & Plage1 & " = " & """ & Cellule & """) * (" & Plage2 & " = " & """ & Cellule.Offset(0, -1) & """) * (" & Plag3 & "=" & """[ALL])""" & ") * 1)")
            
            'Je remplis ma cellule avec le résultat
            Cellule.Offset(0, 2).Value = AValider
            
            End If
        Next Sh

    Next Cellule
    Set Plage = Nothing

Merci
 
Re : SumProduct VBA mutli feuil

Salut Maivas,

En quoi as-tu déclaré Plage1 et Plage2 ?
Quelle est ton erreur ?
As-tu utilisé le débogage pour voir à quoi ressemble ta formule ?

Regarde Plage1, les références sont différentes par rapport à Plage2 et Plage3 => $12 vs $20

Bon courage
 
Re : SumProduct VBA mutli feuil

Bonjour,

Les plages sont correctes (En tous cas ça fonctionne avec le bon vieux Sommeprod)
=SOMMEPROD(('2013|01 01-30 06'!$F$12:$GD$12='TICS Compar. (2)'!E11)*('2013|01 01-30 06'!$D$20:$D$40='TICS Compar. (2)'!D11)*('2013|01 01-30 06'!$F$20:$GD$40="[ALL]")*1)

Erreur du débogage= Incompatibilité de type
 
- 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
7
Affichages
621
Réponses
1
Affichages
663
Retour