Macro de regroupement de données

Résolu/Fermé
bijour-greg Messages postés 107 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 26 juin 2017 - Modifié par bijour-greg le 28/09/2015 à 09:17
bijour-greg Messages postés 107 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 26 juin 2017 - 30 sept. 2015 à 16:01
Bonjour, j'ai fait un bon gros travail sur exel pour rentrer des données dans differentes feuilles.
maintenant je cherche un moyen d'afficher les principales infos de chaques feuille qui correspondent a ma recherche.
en gros il me faudrait un programme qui boucle sur toute les feuilles et qui regarde a une case XY de chaque feuille et si elle corespond a la recherche, recopie les infos principales sur ma premiere feuille.
j'ai trouvé un moyen de parcourir toutes les feuilles avec la boucle:
  Dim Current As Worksheet

For Each Current In Worksheets
'code verification
Next


Honetement, je suis encore un gros débutant en VBA ee ne voit pas comment je peut faire pour coder tout ça ... help SVP
merci
A voir également:

5 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
28 sept. 2015 à 11:44
Bonjour,

un exemple de recherche multifeuilles, cellule fixe (A5) et plage fixe (A5:F5) puisque vous ne detaillez pas vraiment votre besoin

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

A+
0
bijour-greg Messages postés 107 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 26 juin 2017 4
Modifié par bijour-greg le 28/09/2015 à 14:11
pour etre plus précis,
j'ai plusieures feuilles résumants des rapports d'activité sur chaque pays (en B1) regroupant des données avec des mots clefs pour definir chaques feuilles (en B6) et leurs année (en B8)

j'aimerai avoir un moyen de choisir les feuilles a afficher selon les mots clefs, le pays ou l'année

j'ai fait (comme je peut) une fonction permettant d'afficher les infos principales dans la premiere feuille

Sub afficher(feuille As sheet)
Dim i As Integer
Dim j As Integer
'affiche a partir de la ligne 15
i = 15
'trouve la ligne vide
worskheet(1).Activate
Range(i, 1).Select
Do While Not (IsEmpty(ActiveCell))
i = i + 1
Range(i, 1).Select
Loop
'recopie les 10 permieres lignes de la feuille
For j = 1 To 10
Worksheets(1).cell(i, j).Copy Destination:=Worksheets(feuille).cell(j, 2)
Next

End Sub


maintenant il ne me reste plus qu'a coder un moyen de recuperer la feuille qui correspond a ma recherche et lancer cette fonction pour afficher les infos sur la premiere feuille du classeur

j'en suis a ça
Sub rechercheMotClef(recherche)

' Declare Current as a worksheet object variable.
Dim Current As Worksheet

' Loop through all of the worksheets in the active workbook.
For Each Current In Worksheets
If Range(B6) = recherche Then
afficher (Current)
End if

Next

End Sub

mais ça n'a pas l'air de fonctionner :S
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
28 sept. 2015 à 15:19
Re,

mais ça n'a pas l'air de fonctionner :S Ben , vu comme vous faites, c'est pas pres d'arriver !!!

Pour faire votre choix, vous avez une idee avec quoi faire: ecrire (liste de validation)le pays et/ou l'annee dans des cellules avec au prealabre une recherche des pays et des annees pour eviter les recherches farfelues

Pouvez faire une maquette avec les noms d'onglets et des donnees bidons mais coherentes et le mettre a dispo

Pour transmettre un fichier,
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
0
bijour-greg Messages postés 107 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 26 juin 2017 4
28 sept. 2015 à 16:19
voici un exemple de tableur qui colle avec le miens http://www.cjoint.com/c/EICopHTdQMS (il y a beaucoup plus de feuille dans l'original bien sur) les nom d'onglet sont des codes de chaque dossier (que je n'ai meme pas le droit de vous donner :s)
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > bijour-greg Messages postés 107 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 26 juin 2017
28 sept. 2015 à 16:37
Re,

que je n'ai meme pas le droit de vous donner :s) C'est pour cela que je vous ai demande une maquette avec des donnees bidons

je regarde la chose

A+
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
29 sept. 2015 à 17:07
Bonjour,

une facon de faire, recherche en fonction des 3 criteres en dynamique, par contre effacement critere(s) manuel, pas trouve pour l'instant comment ajouter cellule vide dans les listes de validation qui se creent aussi en dynamique a chaque activation de l'onglet donnees

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

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bijour-greg Messages postés 107 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 26 juin 2017 4
30 sept. 2015 à 14:10
merci beaucoup f894009 !
je crois bien que je peut dire que tu est mon sauveur cette fois, c'est exactement ce quil me falait :D
j'ai juste un dernier soucis, il faudrait que ca recopie une case en plus (copier de B1 à B9 au lieux de B8) j'ai regardé le code VBA pour tenter de le modifier moi meme mais... je ne comprend pas ce qui y est fait :S
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
30 sept. 2015 à 14:17
Bonjour,

fichier modifie: https://www.cjoint.com/c/EIEmqUMgqaf
0
bijour-greg Messages postés 107 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 26 juin 2017 4
30 sept. 2015 à 16:01
parfait !
merci beaucoup f894009
0