Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Excel VBA calcul somme

Amet0304

XLDnaute Nouveau
Bonjour, j'ai un document Excel avec 2 feuilles, la première contient des numéros (exemple de 1 à 10) dans la colonne A et la deuxième feuille contient ces mêmes numéros une ou plusieurs fois dans la colonne A avec des montants associés dans la colonne B.

Voici le code que j'ai commencé à faire :

Sub salaires()
Dim feuil1 As Worksheet, feuil2 As Worksheet
Dim i As Long, derniere As Long
Dim zone As Range

Set feuil1 = Worksheets("numero")
Set feuil2 = Worksheets("salaire")
derniere = feuil1.Cells(Rows.Count, "A").End(xlUp).Row

'Parcourir la colonne 1 feuille 1
For i = 2 To derniere 'définir quel est la ligne de départ
'recherche produit dans la colonne A de la feuille 2
Set zone = feuil2.Columns("A").Find(feuil1.Cells(i, "A").Value, LookIn:=xlValues, lookat:=xlWhole)

Next

End Sub



Je ne sais pas quoi faire ensuite pour pouvoir calculer la somme des salaires de la colonne B de la feuille 2 pour chacun des numéros. Quelqu'un aurait une idée?
 
Dernière édition:
Solution
Bonjour,
VB:
Sub salaires()
    Dim Feuil1 As Worksheet
    Dim Feuil2 As Worksheet
    Dim DerniereLigneFeuil1 As Long
    Dim DerniereLigneFeuil2 As Long
    Dim Salaire As Double
    Dim i1 As Long
    Dim i2 As Long
 
    Set Feuil1 = ThisWorkbook.Worksheets("numero")
    Set Feuil2 = ThisWorkbook.Worksheets("salaire")
    DerniereLigneFeuil1 = Feuil1.Cells(Rows.Count, "A").End(xlUp).Row
    DerniereLigneFeuil2 = Feuil2.Cells(Rows.Count, "A").End(xlUp).Row
 
    'Parcourir la colonne 1 de la Feuil1
    For i1 = 2 To DerniereLigneFeuil1
        Salaire = 0
     
        'Parcour la colonne 1 de la Feuil2
        For i2 = 2 To DerniereLigneFeuil2
            'Le numéro en Feuil1 = le numéro en Feuil2
            If Feuil1.Cells(i1...

Dudu2

XLDnaute Barbatruc
Bonjour,
VB:
Sub salaires()
    Dim Feuil1 As Worksheet
    Dim Feuil2 As Worksheet
    Dim DerniereLigneFeuil1 As Long
    Dim DerniereLigneFeuil2 As Long
    Dim Salaire As Double
    Dim i1 As Long
    Dim i2 As Long
 
    Set Feuil1 = ThisWorkbook.Worksheets("numero")
    Set Feuil2 = ThisWorkbook.Worksheets("salaire")
    DerniereLigneFeuil1 = Feuil1.Cells(Rows.Count, "A").End(xlUp).Row
    DerniereLigneFeuil2 = Feuil2.Cells(Rows.Count, "A").End(xlUp).Row
 
    'Parcourir la colonne 1 de la Feuil1
    For i1 = 2 To DerniereLigneFeuil1
        Salaire = 0
     
        'Parcour la colonne 1 de la Feuil2
        For i2 = 2 To DerniereLigneFeuil2
            'Le numéro en Feuil1 = le numéro en Feuil2
            If Feuil1.Cells(i1, 1).Value = Feuil2.Cells(i2, 1).Value Then
                'Le salaire est en colonne 2 de la Feuil2
                Salaire = Salaire + Feuil2.Cells(i2, 2).Value
            End If
        Next i2
     
        'Salaire total dans la colonne 2 de la Feuil1
        Feuil1.Cells(i1, 2).Value = Salaire
    Next i1
End Sub
 
Dernière édition:

Discussions similaires

Réponses
4
Affichages
455
Réponses
7
Affichages
594
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…