Bonjour,
Après avoir testé dans tous les sens une macro et n'arrivant pas à finaliser les choses, je me permets de solliciter l'aide des experts !
Dans un fichier Excel j'ai une base de données, sur 5 colonnes, qui permet de faire un suivi de volumes :
Vendeur Ville Produit Gamme Volume
ZUG Lyon TV 2014 17
MER Paris TV 2014 9
ROI Marseille TV 2015 12
ZUG Lyon TV 2015 12
L'objectif de ma macro est de construire un tableau à partir de la BDD, et ensuite de le parcourir pour identifier toutes les valeurs d'un vendeur et de faire la somme des volumes pour ce vendeur. Ensuite je veux afficher le résultat dans une cellule. Bien entendu tout cela se fait très simplement sans macro dans Excel, mais sans entrer dans les détails je dois le faire en macro pour ensuite implémenter cette macro dans un autre programme.
Voici le code que j'ai fait, et qui va bien jusqu'au moment de faire la somme (mon SUM ne me renvoie que le résultat de la dernière ligne du tableau (donc 12 dans mon exemple), et non la somme de toutes les lignes contenant "ZUG" (donc 29 dans mon exemple) :
Sub TestTabDyn()
'Création d'un tableau dynamique
'Fonction pour connaitre la dernière cellule d'un bloc de cellules non vides
derniere_ligne = Range("A1").End(xlDown).Row
Dim TabRealises()
'Redimension de tableau
ReDim TabRealises(derniere_ligne - 2, 4)
'Enregistrement des valeurs dans le tableau
For i = 0 To derniere_ligne - 2
TabRealises(i, 0) = Range("A" & i + 2)
TabRealises(i, 1) = Range("B" & i + 2)
TabRealises(i, 2) = Range("C" & i + 2)
TabRealises(i, 3) = Range("D" & i + 2)
TabRealises(i, 4) = Range("E" & i + 2)
Next
'On parcourt les données avec une boucle
For i = 0 To derniere_ligne - 2
'On teste la valeur de la colonne 1 pour regarder les "ZUG"
If TabRealises(i, 0) = "ZUG" Then
Cells(58, 2).Value = Application.WorksheetFunction.Sum(TabRealises(i, 4))
End If
Next
End Sub
J'ai bien conscience qu'il faudrait que je "sorte" le SUM du test et que je le fasse à la fin de la boucle, mais je ne vois pas comment... toute aide au grand débutant que je suis sera donc la bienvenue !
Edit : ajout d'un fichier d'exemple