Somme.si.ens en VBA

Bonjour à tous,

Je suis en pleine galère à cause d'un bout de code VBA qui gère le somme.si.ens.

J'ai ce code :

' Copier les en-têtes et définir les feuilles CA_PLA_CON Social
Set wsDestination = wbDestination.Worksheets("Social")
Set wsSource = wbDestination.Worksheets("CA_PLA_CON")

' Copier les en-têtes de C à F dans la feuille social à partir de la colonne O
wsSource.Range("C1:F1").Copy
wsDestination.Range("O1").PasteSpecial Paste:=xlPasteValues
wsDestination.Range("O1").PasteSpecial Paste:=xlPasteFormats

' Définir la formule SOMMEPROD pour la cellule O2
formule = "=SOMME.SI.ENS(CA_PLA_CON!C:C;CA_PLA_CON!A:A; Social!$H2;CA_PLA_CON!B:B;Social!$A2)"

' Insérer la formule en O2 de la feuille Social
wsDestination.Range("O2").Formula = formule

J'ai essayé de beaucoup de façon différentes (SOMMEPROD..., en copiant la formule en texte..) mais là je sèche complètement.

Une âme charitable m'expliquer la syntaxe de la somme.si.ens en VBA s'il vous plait

Merci d'avance

Pierrot

Bonjour,

Veillez à utiliser les balises de code en cliquant sur l'icone </> dans la barre de menu lorsque vous postez un code dans votre demande. C'est plus lisible pour chacun


Pour votre demande, essayez ceci

' Insérer la formule en O2 de la feuille Social
wsDestination.Range("O2").Formula ="=SUMIFS(" & wsSource & "!C," & wsSource & "!C[-2], " & wsDestination & "!R[-2]C8," & wsSource & "!C[-1]," & wsDestination & "!R[-2]C1)"

Pas besoin d'utiliser une variable Formule. Soyez plus direct

Vérifiez aussi si vous ne devez pas ajouter R1C1 juste derrière Formula. Donc comme ceci --> FormulaR1C1

crdlt

Bonjour,

C'est normal ne vous inquiétez pas. En supposant que votre formule est correcte, VBA "bugue" car l'argument Range.Formula prend comme paramètre la formule en Anglais.

Pour l'insérez en français, utilisez plutot Range.FormulaLocal.

Ci-après la doc :

Range.Formula, propriété (Excel) | Microsoft Learn

Propriété Range.FormulaLocal (Excel) | Microsoft Learn

Bonjour à tous les deux et Merci pour le retour !

Vous m'avez égayé ma journée car cela fonctionne

J'ai pris en considération vos remarques sur l'approche plus directive et le tip sur Formulalocal. (Merci pour la Doc)

Comme je ne code pas souvent, ce sont des notions qui sont un peu étrangère.

Je prend note pour insérer le code dans des balises pour la prochaine fois.

Merci encore,

Pierrot

Rechercher des sujets similaires à "somme ens vba"