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

Résolu/Fermé
jeje8416 Messages postés 4 Date d'inscription lundi 29 juillet 2013 Statut Membre Dernière intervention 30 juillet 2013 - 29 juil. 2013 à 17:32
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 30 juil. 2013 à 11:32
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

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
30 juil. 2013 à 09:19
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
jeje8416 Messages postés 4 Date d'inscription lundi 29 juillet 2013 Statut Membre Dernière intervention 30 juillet 2013
30 juil. 2013 à 10:19
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
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
30 juil. 2013 à 10:36
le plus simple,
envoies une copie simplifié de ton fichier sur cjoint.com
Je verrais ou est le pb
0
jeje8416 Messages postés 4 Date d'inscription lundi 29 juillet 2013 Statut Membre Dernière intervention 30 juillet 2013
30 juil. 2013 à 10:43
Voilà:

https://www.cjoint.com/c/CGEkQMFwezV

Merci beaucoup pour ton aide :)
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
30 juil. 2013 à 10:54
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
jeje8416 Messages postés 4 Date d'inscription lundi 29 juillet 2013 Statut Membre Dernière intervention 30 juillet 2013
30 juil. 2013 à 11:05
Wouah ! Magnifique :) C'est exactement ce que je voulais.

Je te remercie pour tout et te souhaite bonne continuation.

A bientôt !
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
30 juil. 2013 à 11:32
mets le en resolu stp
0