Nous allons examiner un programme dans Excel VBA qui calcule le total des ventes de chaque employé sur une période de trois ans.
Les deux autres feuilles ont la même configuration, mais avec des combinaisons différentes de mois et d’employés, et différents numéros de vente. Il existe plusieurs façons de calculer les ventes totales de chaque employé en Excel, mais nous verrons que cela peut être fait dans Excel VBA très facilement.
Placez un bouton de commande sur votre feuille de calcul et ajoutez les lignes de code suivantes:
1. Premièrement, nous déclarons trois variables et un objet Feuille de travail. Une variable de type String que nous appelons employe, une variable de type Integer que nous appelons total, un objet Feuille de calcul que nous appelons FeuilleCal et une variable de type Integer que nous appelons i.
Dim employe As String, total As Integer, FeuilCal As Worksheet, i As Integer
2. Nous initialisons deux variables. Nous initialisons la variable totale avec la valeur 0. Nous utilisons InputBox pour obtenir le nom de l’employé de l’utilisateur.
total = 0 employe = InputBox ("Entrez le nom de l'employé (Différence entre Majuscule et minuscule)")
3. Une fois que l’utilisateur a entré le nom d’un employé, nous voulons calculer le total des ventes de cet employé.
Le classeur se compose de trois feuilles. Nous voulons un programme qui peut encore être utilisé si des feuilles sont ajoutées à l’avenir. Par conséquent, nous utilisons la ligne de code suivante:
For Each FeuilCal In Worksheets
4. Nous commençons une autre boucle For Next.
For i = 2 to 13
5. Si le nom de l’employé saisi correspond au nom de l’employé dans la colonne B, Excel VBA ajoute le
nombre de ventes au total variable. Ajoutez les lignes de code suivantes:
If FeuilCal.Cells(i, 2).Value = employe Then total = total + FeuilCal.Cells(i, 3).Value End If 6. N'oubliez pas de fermer les deux boucles. Next i Next FeuilCal
7. Enfin, nous affichons les ventes totales de l’employé à l’aide d’une msgbox.
MsgBox "Vente totale de " & employe & " est " & total
8. Testez le programme.
Résultat pour Nicola:
Code final
Sub CalculVente() Dim employe As String, total As Integer, FeuilCal As Worksheet, i As Integer total = 0 employe = InputBox("Entrez le nom de l'employé (Différence entre Majuscule et minuscule)") For Each FeuilCal In Worksheets For i = 2 To 13 If FeuilCal.Cells(i, 2).Value = employe Then total = total + FeuilCal.Cells(i, 3).Value End If Next i Next FeuilCal MsgBox "Vente totale de " & employe & " est " & total End Sub