VBA pour somme a partir de données d'une feuille Excel vers un autre

Bonjour,

Etant novice en VBA j'ai besoin de votre aide.

Dans le fichier joint, je souhaite faire la somme des valeurs des cellules C6 à G6 et copier cette valeur dans le mois de janvier 2024 de la feuille bbb dans la cellule C6. Mais comme d'une année sur l'autre le nombre de semaine change, il faudrait que pour la case C6 le "C" soit celui de la cellule S6 et le G celui de la cellule T6... (en effet en 2025 janvier à 4 semaine donc la valeur en T6 sera F).

Et la je sèche pour trouver la bonne écriture VBA

Alors si vous pouviez m'apporter votre aide. un grand merci à vous.

Philippe

18test.xlsx (10.73 Ko)

bonjour, j'ai trouvé une solution qui me permet de répondre à mon besoin

Sub Mensuel_SM()

' Définir les variables pour les classeurs et les feuilles

    Dim wsSource As Worksheet

    Dim wsMois As Worksheet
    Dim wsCible As Worksheet
    Dim rangeSource As Range
    Dim rangeCible As Range
    Dim Moyenne As Double
    Dim Somme As Double
    Dim Col1 As String
    Dim Col2 As String

    Set wsSource = Sheets("production endoQMSM hebdo")
    Set wsCible = Sheets("production endoQMSM Mensuel ")
    Set wsMois = Sheets("répartition semaines")

'janvier SM'
    Col1 = wsMois.Range("U9")
    Col2 = wsMois.Range("V9")

     'Heure prod'
        Somme = Application.WorksheetFunction.Sum(wsSource.Range(Col1 & "77:" & Col2 & "77"))
        wsCible.Range("c77").Value = Somme
        Somme = Application.WorksheetFunction.Sum(wsSource.Range(Col1 & "78:" & Col2 & "78"))
        wsCible.Range("c78").Value = Somme
        Somme = Application.WorksheetFunction.Sum(wsSource.Range(Col1 & "79:" & Col2 & "79"))
        wsCible.Range("c79").Value = Somme
    'nbre Projet-Enreg'
        Somme = Application.WorksheetFunction.Sum(wsSource.Range(Col1 & "87:" & Col2 & "87"))
        wsCible.Range("c87").Value = Somme
    'nbre Sample-Enreg'
        Somme = Application.WorksheetFunction.Sum(wsSource.Range(Col1 & "88:" & Col2 & "87"))
        wsCible.Range("c88").Value = Somme
    'nbre test-Enreg')
        Somme = Application.WorksheetFunction.Sum(wsSource.Range(Col1 & "89:" & Col2 & "89"))
        wsCible.Range("c89").Value = Somme

Bonjour

Ci joint ma solution par formule

9test-1.xlsx (14.59 Ko)

A+ François

Rechercher des sujets similaires à "vba somme partir donnees feuille"