Microsoft 365 macro vba sumifs

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 !

Cece@

XLDnaute Nouveau
Bonjour à tous,

J'ai un fichier Excel avec 2 onglets :
- onglet 1 : P ALL - une base qui contient l'ensemble des éléments de rémunération (ex en colonne B les matricules, en colonne S la nature du montant, salaire de base, salaire brut etc, en cololnne N le montant)
- onglet 2 : le fichier final (données E) ou doit apparaitre les calculs par salarié donc par matricule

Une formule somme si ens répond à mon besoin, mais j'ai 15 fichiers ( car 15 sociétés) pour qui ce travail doit être effectué, l'onglet 1 est très lourd parfois plus de 70 000 lignes...
J'ai effectué une macro la voici ci-dessous, elle fonctionne mais uniquement sur la colonne U de l'onglet donnée E , je souhaiterais la reproduire sur les colonne V à la colonne CX

Avec la macro ci-dessous, le résultat est affiché dans la cellule U3, U4 etc.....le critère se trouve en U1... Mais j'ai aussi un critère en V1, W1 etc....se calcul soit donc se faire également sur V3, W3 etc....

Sub SOMMESIMultipleConditions()
Dim i As Long
i = 3

While Worksheets("Données E").Range("a" & i) <> ""
Worksheets("Données E").Range("U" & i).Value = Application.WorksheetFunction.SumIfs(Worksheets("P ALL").Range("N2:N877"), Worksheets("P ALL").Range("S2:S877"), Worksheets("Données E").Range("U1"), Worksheets("P ALL").Range("B2:B877"), Worksheets("Données E").Range("A" & i))
i = i + 1

Wend

End Sub

La macro ci-dessus fonctionne, mais que dans la colonne U de l'onglet donnée E, j'aimerais la reproduire en automatique/boucles (je ne connais le terme VBA exact) sur les colonne V à CX....

J'espère être clair dans mes explications !

Si quelqu'un à la solution je suis preneuse 🙂

Merci à tous,
 
Bonsoir Cece, Phil,
Pas tout bien compris.
Essayez par ex :
Code:
Sub SOMMESIMultipleConditions()
Dim i%, C%
Set F = Worksheets("PALL")
For C = 21 To 102 ' Colonne U à CX
    i = 3
    While Worksheets("Données E").Cells(i, "A")<> ""
        Worksheets("Données E").Cells(i, C).Value = Application.WorksheetFunction.SumIfs(F.[N2:N877], _
                                                    F.[S2:S877], Worksheets("Données E").Cells(1, C), _
                                                    F.[B2:B877], Worksheets("Données E").Cells(i, "A"))
        i = i + 1
    Wend
Next C
End Sub
On boucle des colonnes U à CX avec le For Next
 
- 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
546
  • Question Question
Microsoft 365 Macro VBA - Excel
Réponses
12
Affichages
586
Réponses
5
Affichages
494
Réponses
0
Affichages
378
Retour