XL 2013 Excel VBA calcul somme

  • Initiateur de la discussion Initiateur de la discussion Amet0304
  • Date de début Date de début

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 !

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...
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:
- 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

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
45
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
482
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
622
Réponses
4
Affichages
332
Réponses
2
Affichages
371
Retour