VBA Fonctions personnalisées Somme avec plusieurs critères
Bonjour,
Je cherche à faire une fonction VBA personnalisée de somme.si.ens sur plusieurs colonnes.
Je fais d’abord une procédure Sub pour retourner le résultat par un msgbox avant de transposer de faire finalement ma fonction.
Je souhaiterais avoir une somme de plusieurs somme.si.ens:
la somme des montants dans la colonne C si et dans la colonne D et dans la colonne H (8ieme colonne) je remplis un critère
la somme des montants dans la colonne C si et dans la colonne D et dans la colonne I (7ieme colonne) je remplis un critère
etc
Jusqu'à
la somme des montants dans la colonne C si et dans la colonne D et dans la colonne I (28ieeme colonne) je remplis un critère
Mais je n' y arrive pas . Pouvez svp m’aider. Je mets en pj le fichier avec les lignes de codes.
Merci pour votre aide
Re,
J'ai pu avancer sur la procédure Sub. Je n'ai plus d'erreur mais le résultat retourné est erroné:
Ci-après la procédure SUB. je joins aussi le fichier
Sub Somme_Heures_SI_E()
Dossier = Lille
Tâches = Rapp
For Jour = 8 To 28
Resultat = Resultat + WorksheetFunction.SumIfs(ThisWorkbook.Sheets("Feuil1").Columns(3), _
ThisWorkbook.Sheets("Feuil1").Columns(4), "=" & Dossier, _
ThisWorkbook.Sheets("Feuil1").Columns(8), "=" & Tâches)
Next Jour
MsgBox Resultat
End Sub
Bonjour,
Je cherche à faire une fonction VBA personnalisée de somme.si.ens sur plusieurs colonnes.
Je fais d’abord une procédure Sub pour retourner le résultat par un msgbox avant de transposer de faire finalement ma fonction.
Je souhaiterais avoir une somme de plusieurs somme.si.ens:
la somme des montants dans la colonne C si et dans la colonne D et dans la colonne H (8ieme colonne) je remplis un critère
la somme des montants dans la colonne C si et dans la colonne D et dans la colonne I (7ieme colonne) je remplis un critère
etc
Jusqu'à
la somme des montants dans la colonne C si et dans la colonne D et dans la colonne I (28ieeme colonne) je remplis un critère
Mais je n' y arrive pas . Pouvez svp m’aider. Je mets en pj le fichier avec les lignes de codes.
SUmifs.xlsm
Merci pour votre aide
Re,
J'ai pu avoir ce bout de code:
Function Somme_Heures_SI(Dossier As String, Taches As String, NbreJourMois As Integer)
Application.Volatile
Somme_Heures_SI = WorksheetFunction.SumIfs(ThisWorkbook.Sheets("Feuil1").Columns(3), _
ThisWorkbook.Sheets("Feuil1").Columns(4), "=" & Dossier, _
ThisWorkbook.Sheets("Feuil1").Columns(8), "=" & Taches) _
+ _
WorksheetFunction.SumIfs(ThisWorkbook.Sheets("Feuil1").Columns(3), _
ThisWorkbook.Sheets("Feuil1").Columns(4), "=" & Dossier, _
ThisWorkbook.Sheets("Feuil1").Columns(9), "=" & Taches) _
+ _
WorksheetFunction.SumIfs(ThisWorkbook.Sheets("Feuil1").Columns(3), _
ThisWorkbook.Sheets("Feuil1").Columns(4), "=" & Dossier, _
ThisWorkbook.Sheets("Feuil1").Columns(10), "=" & Taches) _
+ _
WorksheetFunction.SumIfs(ThisWorkbook.Sheets("Feuil1").Columns(3), _
ThisWorkbook.Sheets("Feuil1").Columns(4), "=" & Dossier, _
ThisWorkbook.Sheets("Feuil1").Columns(11), "=" & Taches)
End Function
Elle fonctionne mais je voudrais avoir une boucle qui fait ce calcul car je dois faire faire ce calcul sur toutes les jours du mois.
1 jour = 1 colonne .
Et il n'est pas très élégant de repéter 31 ou 30 28 ou 29 fois le bout de code suivant.
WorksheetFunction.SumIfs(ThisWorkbook.Sheets("Feuil1").Columns(3), _
ThisWorkbook.Sheets("Feuil1").Columns(4), "=" & Dossier, _
ThisWorkbook.Sheets("Feuil1").Columns(...), "=" & Taches)
Je mets en pj le fichier modifié.
Pouvez-vous svp m'aider ?
Bonjour,
Je cherche à faire une fonction VBA personnalisée de somme.si.ens sur plusieurs colonnes.
Je fais d’abord une procédure Sub pour retourner le résultat par un msgbox avant de transposer de faire finalement ma fonction.
Je souhaiterais avoir une somme de plusieurs somme.si.ens:
la somme des montants dans la colonne C si et dans la colonne D et dans la colonne H (8ieme colonne) je remplis un critère
la somme des montants dans la colonne C si et dans la colonne D et dans la colonne I (7ieme colonne) je remplis un critère
etc
Jusqu'à
la somme des montants dans la colonne C si et dans la colonne D et dans la colonne I (28ieeme colonne) je remplis un critère
Mais je n' y arrive pas . Pouvez svp m’aider. Je mets en pj le fichier avec les lignes de codes.
SUmifs.xlsm
Merci pour votre aide