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
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
A voir également:
- Recherche données dans onglet à partir d'une liste
- Liste déroulante excel - Guide
- Recherche à partir d'une image - Guide
- Recherche musique - Guide
- Rouvrir onglet fermé - Guide
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? - Forum Bureautique
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
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
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
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
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
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
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
30 juil. 2013 à 10:36
le plus simple,
envoies une copie simplifié de ton fichier sur cjoint.com
Je verrais ou est le pb
envoies une copie simplifié de ton fichier sur cjoint.com
Je verrais ou est le pb
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
30 juil. 2013 à 10:43
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
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
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
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
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 !
Je te remercie pour tout et te souhaite bonne continuation.
A bientôt !
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
30 juil. 2013 à 11:32
mets le en resolu stp