Dupliquer resultat sur toute les lignes

Bonjour,

espère que vous allez bien.

je reviens vers vous pour un soucis que je n'ai pas pu résoudre jusqu'à mnt tout seul, j'aurai besoin de vos talents magiques SVP.

J'essaye de faire une sommi.si.ens mais le résultat remonte juste pour une seule colonne et non pas pour toutes mes références.

Voici mon code utiliser :

Sub SOMMESIENS()

'reprendre les colonnes en nombre

For Each r In Sheets(1).UsedRange.SpecialCells(xlCellTypeConstants)
If IsNumeric(r) Then
r.Value = CSng(r.Value)
r.NumberFormat = "0.00"
End If
Next

For ligne = 2 To 50000


Dim rngCritère As Range
Dim rngCritère2 As Range
Dim rngCritère4 As Range
Dim rngSommeA As Range
Dim valeurUn As String


'Affectation la plage de cellules
Set rngCritère = Sheets(1).Cells(ligne, 1) (REF UNIQUE)
Set rngCritère2 = Sheets(1).Cells(ligne, 8) (conditions)
Set rngCritère4 = Sheets(1).Cells(ligne, 10) (conditions)
Set rngSommeA = Sheets(1).Cells(ligne, 12) (MT)

'somme.si.en

Sheets(3).Cells(ligne, 7).Value = WorksheetFunction.SumIfs(rngSommeA, rngCritère, Sheets(1).Cells(ligne, 1), rngCritère2, "ENIPA")
Sheets(3).Cells(ligne, 8).Value = WorksheetFunction.SumIfs(rngSommeA, rngCritère, Sheets(1).Cells(ligne, 1), rngCritère4, "ENIPA")

'Libération des objets range
Set rngCritère = Nothing
Set rngCritère2 = Nothing
Set rngCritère4 = Nothing
Set rngSommeA = Nothing

Next ligne

End Sub

Je vous remercie par avance de votre aide et je reste a votre dispo.

voici le fichier de travail pour bien comprendre mon besoin :).

10exemple.zip (1.32 Mo)

Bonjour,

voici le fichier de travail pour bien comprendre mon besoin

Désolé, mais il n'y a aucune description de ce qu'il faut faire, même votre code se retrouve à quelques nuances près dans 2 modules à la fois, quel est le bon code, celui du module "SOMMESIENS" ou "SOMMESIENS1" ?

Résoudre un problème simplement en essayant de déchiffrer un code (pas forcement limpide et efficace), n'est pas la meilleure solution.

Quelle somme faut-il faire? ou afficher le résultat?

Alors, donnez un descriptif du but à atteindre et vous aurez obtiendrez plus rapidement des réponses.

Cdlt

je suis nouveau désolé, le but c'est d'avoir pour chaque référence unique dans la feuille 3 (salarié et mois) qui est dans la colonne 1 la somme de la colonne 12 selon la qualification des colonne 8/10 de la feuille 1.

je vous remercie et reste dispo pour clarification.

pour chaque référence unique dans la feuille 3 (salarié et mois)
la feuille 3 (salarié et mois) n'existe pas.

EXCUSEZ MOI JE VOULAIS DIRE FEUILLE 2

Bonjour,

Comme les valeurs de la colonne "L" contiennent des nombres et du texte, j'ai utilisé la colonne "R" de la feuil6 pour y glisser une formule via le VBA qui fera le ménage.

Ensuite la même macro, fera le total par référence de cette colonne "L" et mettra le résultat dans la colonne "Q" de la feuille "RESULTAT".

La macro:

Sub Total()
    Dim f1 As Worksheet, f2 As Worksheet
    Dim DerLig_f1 As Long, DerLig_f2 As Long
    Set f1 = Sheets(Sheets(1).Name)
    Set f2 = Sheets("RESULTAT")

    DerLig_f1 = f1.Range("A" & Rows.Count).End(xlUp).Row
    DerLig_f2 = f2.Range("A" & Rows.Count).End(xlUp).Row
    f1.Range("R2:R" & DerLig_f1).FormulaR1C1 = "=IF(ISNUMBER(RC[-1]),RC[-1],"""")"
    f1.Range("R2:R" & DerLig_f1).Value = f1.Range("R2:R" & DerLig_f1).Value
    f2.Range("Q2:Q" & DerLig_f2).FormulaR1C1 = "=SUMIF(" & Sheets(1).Name & "!R2C1:R" & DerLig_f1 & "C1,RC1," & Sheets(1).Name & "!R2C[1]:R" & DerLig_f1 & "C[1])"
    f2.Range("Q2:Q" & DerLig_f2).NumberFormat = "0.00"
    Set f1 = Nothing
    Set f2 = Nothing
End Sub

Cdlt

Rechercher des sujets similaires à "dupliquer resultat toute lignes"