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

[Résolu/Fermé]
Signaler
Messages postés
4
Date d'inscription
lundi 29 juillet 2013
Statut
Membre
Dernière intervention
30 juillet 2013
-
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
-
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

Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
146
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
4
Date d'inscription
lundi 29 juillet 2013
Statut
Membre
Dernière intervention
30 juillet 2013

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

Voilà:

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

Merci beaucoup pour ton aide :)
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
146
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
Messages postés
4
Date d'inscription
lundi 29 juillet 2013
Statut
Membre
Dernière intervention
30 juillet 2013

Wouah ! Magnifique :) C'est exactement ce que je voulais.

Je te remercie pour tout et te souhaite bonne continuation.

A bientôt !
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
146
mets le en resolu stp