Problème d'incompétence sur Excel

Bonjour,

Merci par avance de votre aide. J'ai 16 feuilles. Sur chaque feuille, j'ai les infos suivantes:

Une colonne avec des noms de personnes (colonne F). Une autre colonne avec des heures de travail réalisées (colonne K) pour ces personnes

- Les noms sont écrits de la même manière sur chaque feuille

Les noms ne sont pas forcément les mêmes sur chaque feuille

L’intitulé des colonnes (NOM, HEURES etc. ) est en ligne 2.

Les noms ne sont pas forcément sur les mêmes lignes sur chaque feuille. Par contre, un nom en colonne F sur une ligne a forcément des heures en colonne K sur la même ligne.

J'ai créé une 16emeet dernière feuille, avec en colonne A le nom de toutes les personnes contenues dans les 15 premières feuilles.

En fait je voudrais qu'Excel aille chercher toutes les heures (qui sont en colonne K) dans toutes les feuilles et en fasse la somme et me la donne en colonne B de ma feuille 16 pour le nom donné en colonne A de cette même feuille.

J'espère que je suis clair !!!! Comme j’ai des doutes, voici un exemple :

ALFRED est noté en colonne F des feuilles 4 et 6. En colonnes K, sur ces feuilles, sur la même ligue que ALFRED, il y a des heures réalisées par ALFRED, mettons 12 et 23.

En feuille 16 (dernière feuille), j'ai ALFRED en cellule A4. Je voudrais qu'en B4, Excel me calcule la somme de toutes les heures de ALFRED comptabilisées dans les n feuilles. En gros, il doit reconnaitre ALFRED et me calculer ses heures. Si ça marche, il doit me renvoyer la valeur 35...

Merci de votre aide !!!!!!

Bonjour,

Code VBA pour une fonction personnalisé qui fera l'addition demandée :

Function Total(Nom As String) As Double
    Dim S As Worksheet, Ligne As Long
    For Each S In ThisWorkbook.Sheets
        For Ligne = 3 To S.Range("F65536").End(xlUp).Row
            If S.Range("F" & Ligne).Value = Nom Then
                If IsNumeric(S.Range("K" & Ligne).Value) Then Total = Total + S.Range("K" & Ligne).Value
            End If
        Next Ligne
    Next S
End Function

Ensuite taper la formule dans B4 (16e feuille) : =Total(A4)

Merci Soft !

Voilà ce que j'ai fait:

  • j'ai copié le code
  • j'ai fait ALT+F11 puis insérer un module. Dans ce module, j'ai collé le code.
  • j'ai sauvegardé
  • je suis allé dans la cellule B4. J'ai tapé la formule =Total(A4) puis appuyé sur Enter
J'ai regardé dans le code

Ca me renvoie "#NOM?"

Merci de votre aide !

Ca marche !!!!!!!!! Merci Soft, trop fort.

Sympa de votre part.

Bon week end

Rechercher des sujets similaires à "probleme incompetence"