Recherche données dans onglet à partir d'une liste

Résolu
jeje8416 Messages postés 4 Statut Membre -  
melanie1324 Messages postés 1561 Statut Membre -
Bonjour, je vous expose mon problème sur lequel je galère depuis pas mal de temps déjà.

J'ai un tableau excel comprenant plusieurs onglets (120 ^^). Un onglet contient une liste de nom et les 119 autres viennent piocher dans cette liste pour former d'autres listes. (1 liste par onglet).

Chaque liste est ordonnée de manière différente et chaque liste associe un nombre différent en face de chaque nom.

J'aimerai pouvoir récupérer la somme des nombres associé à 1 nom pour l'ensemble de mes onglets dans un onglet ''récapitulatif''.

Je ne maîtrise pas les macros mais j'ai essayé avec des rechercheV qui fonctionne uniquement pour 1 onglet et je ne sais pas comment sommer sur les 119...

Ayant fait un peu de progra j'imagine une boucle IF qui balayerait chaque liste en la comparant avec un nom de la liste source et qui stockerait le nombre associé. Ensuite une somme des valeurs stockées pour le nom. Et ainsi de suite.

J'espère ne pas vous faire surchauffer le cerveau en ce temps de canicule ;)

Merci pour votre aide.

Dites moi si vous voulez + de détail.

2 réponses

  1. melanie1324 Messages postés 1561 Statut Membre 156
     
    Bonjour,

    voici la macro avec mes commentaires pour l'adapter

    Sub Macro2()
    '
    ' Macro2 Macro
    '

    '
    Dim a, b, feuille, i As Integer
    Dim var, somme As Variant

    a = ActiveWorkbook.Worksheets.Count ' a = nombre de feuilles se trouvant dans ton classeur
    b = sheets(1).Cells(1, 1).Select 'b = cellule ligne 1 colonne 1 de la feuille 1 correspondant au nom que tu cherches

    For feuille = 1 To a 'pour toutes les feuilles
    i = 1 'i= 1
    Do While sheets(feuille).Cells(i, 2) <> "" ' tant qu'il y aura une donnée dans la cellule située ligne i colonne 2 de la feuille
    If sheets(feuille).Cells(i, 4) = b Then 'si la cellule de la ligne i et de la conne 4 = nom rechercher (variable b)
    somme = somme + sheets(feuille).Cells(i, 5) ' la variable somme est égale à elle même + la valeur de la cellule de la ligne i colonne 5
    End If
    i = i + 1
    Loop
    Next
    Sheets(1).Cells(1, 2) = somme 'la cellule B1 de la feuille 1 t'affichera la valeur de la variable somme

    End Sub
    1
  2. jeje8416 Messages postés 4 Statut Membre
     
    Merci pour ta réponse Mélanie !

    Par contre, je viens de l'essayer sur un petit exemple et ça marche po... déjà pour moi le nom est du texte donc j'ai déclaré Dim b As String mais il n'affiche pas la somme en B1 comme prévu...

    Voici mes modifs:

    Sub Macro2()
    '
    ' Macro2 Macro
    '

    '
    Dim a, feuille, i As Integer
    Dim somme As Variant
    Dim b As String

    a = ActiveWorkbook.Worksheets.Count ' a = nombre de feuilles se trouvant dans ton classeur
    b = Sheets(1).Cells(1, 1).Select 'b = cellule ligne 1 colonne 1 de la feuille 1 correspondant au nom que tu cherches

    For feuille = 2 To a 'pour toutes les feuilles sauf la première
    i = 1 'i= 1
    Do While Sheets(feuille).Cells(i, 1) <> "" ' tant qu'il y aura une donnée dans la cellule située ligne i colonne 1 de la feuille
    If Sheets(feuille).Cells(i, 1) = b Then 'si la cellule de la ligne i et de la colonne 1 = nom rechercher (variable b)
    somme = somme + Sheets(feuille).Cells(i, 2) ' la variable somme est égale à elle même + la valeur de la cellule de la ligne i colonne 2
    End If
    i = i + 1
    Loop
    Next
    Sheets(1).Cells(1, 2) = somme 'la cellule B1 de la feuille 1 t'affichera la valeur de la variable somme

    MsgBox ("Fini")
    End Sub

    Tu penses que ya une erreur ?

    Merci
    0
    1. melanie1324 Messages postés 1561 Statut Membre 156
       
      le plus simple,
      envoies une copie simplifié de ton fichier sur cjoint.com
      Je verrais ou est le pb
      0
    2. melanie1324 Messages postés 1561 Statut Membre 156
       
      pardon, il y avait une petite erreur dans le code.

      Je l'ai modifié de telle sorte que la somme se fasse sur toute ta liste de la feuille 1 :
      https://www.cjoint.com/c/CGEk1JWu8lx
      0
    3. jeje8416 Messages postés 4 Statut Membre
       
      Wouah ! Magnifique :) C'est exactement ce que je voulais.

      Je te remercie pour tout et te souhaite bonne continuation.

      A bientôt !
      0
    4. melanie1324 Messages postés 1561 Statut Membre 156
       
      mets le en resolu stp
      0