Microsoft 365 Qu'y a t'il de faux dans cette ligne ?

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 !

sj4555

XLDnaute Junior
Bonjour,
Code:
Range("C5") = "=SUMIFS(PG1!$D:PG1!$D,PG1!$H:PG1!$H,""2020"",PG1!$G:PG1!$G,""mars"")"

Le Visual Basic me renvoie une erreur sur cette ligne,

Pour moi l'intérêt de cette ligne est simplement de récupérer dans la cellule C5 de la feuille "Consommation" la somme des valeurs de la colonne D de la feuille "PG1" dont les valeurs des cellules des colonnes H et G sont respectivement "2020" et "mars",

Une erreur de syntaxe m'aurait échappée ou il s'agit d'autre chose ?
 
Re

Une variante (qui a mon sens) est plus ergonomique
VB:
Sub SUMIFS_en_VBA()
Dim rngD As Range, rngG As Range, rngH As Range
With Sheets("PG1")
Set rngD = .[D:D]: Set rngG = .[G:G]: Set rngH = .[H:H]
End With
[C5] = Application.SumIfs(rngD, rngH, "2020", rngG, "mars")
End Sub
 
Re

Parce que le confinement ,c'est long, une version paramétrée.
😉
VB:
Sub Test_OK()
vSUMIFS Sheets("PG1"), Sheets("Consommation").Range("C5"), "2020", "mars"
vSUMIFS Sheets("PG1"), Sheets("Consommation").Range("C6"), "2020", "janvier"
End Sub
Private Sub vSUMIFS(F As Worksheet, rDesti As Range, crit1 As String, crit2 As String)
Dim RngD As Range, rngG As Range, rngH As Range
With F
Set RngD = .[D:D]: Set rngG = .[G:G]: Set rngH = .[H:H]
End With
rDesti = Application.SumIfs(RngD, rngH, crit1, rngG, crit2)
End Sub
 
Re

Parce que le confinement ,c'est long, une version paramétrée.
😉
VB:
Sub Test_OK()
vSUMIFS Sheets("PG1"), Sheets("Consommation").Range("C5"), "2020", "mars"
vSUMIFS Sheets("PG1"), Sheets("Consommation").Range("C6"), "2020", "janvier"
End Sub
Private Sub vSUMIFS(F As Worksheet, rDesti As Range, crit1 As String, crit2 As String)
Dim RngD As Range, rngG As Range, rngH As Range
With F
Set RngD = .[D:D]: Set rngG = .[G:G]: Set rngH = .[H:H]
End With
rDesti = Application.SumIfs(RngD, rngH, crit1, rngG, crit2)
End Sub
Salut Staple1600😉,
En effet, le confinement ça pèse.
Bonne soirée.
 
- 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