Bonjour,
Tout d'abord merci à Pierre Fauconnier pour son tuto sur la fonction RECHERCHEV():
J'expose mon problème :
Je dispose d'un planning mensuel sur lequel je saisi des codes correspondant à des durées de travail. Ces codes et leur durée sont reportés dans une autre feuille.
Ce que je souhaite faire :
Calculer pour chaque ligne du planning (pour les 31 jours du mois) le nombre d'heures total correspondant à ces codes mentionnés sur la ligne.
Pour l'instant pour ce faire j'ai programmé une fonction VBA, qui pour chaque code de la ligne va chercher la durée dans l'autre feuille et fait la somme des durées pour tous ces codes.
Existe-t-il une fonction Excel à mettre sur les cellules du planning pour faire ce calcul ?
Voici pour le moment ma fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Public Function SommeIndirecte(PlageLigne As Range, PlageCorres As Range, IndiceColonne As Long) As Double Dim i As Long Dim v As Double v = 0 For i = 1 To PlageLigne.Count If Not IsError(Application.VLookup(PlageLigne.Cells(1, i), PlageCorres, IndiceColonne, False)) Then v = v + Application.VLookup(PlageLigne.Cells(1, i), PlageCorres, IndiceColonne, False) End If Next i SommeIndirecte = v End Function
PS: Je voudrais éviter de passer par un tableau supplémentaire...
Partager