Macro de regroupement de données [Résolu/Fermé]

Signaler
Messages postés
108
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
26 juin 2017
-
Messages postés
108
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
26 juin 2017
-
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

5 réponses

Messages postés
15433
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
30 novembre 2020
1 414
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+
Messages postés
108
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
26 juin 2017
4
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
Messages postés
15433
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
30 novembre 2020
1 414
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...
Messages postés
108
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
26 juin 2017
4
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)
Messages postés
15433
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
30 novembre 2020
1 414 >
Messages postés
108
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
26 juin 2017

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+
Messages postés
15433
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
30 novembre 2020
1 414
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+
Messages postés
108
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
26 juin 2017
4
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
Messages postés
15433
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
30 novembre 2020
1 414
Bonjour,

fichier modifie: https://www.cjoint.com/c/EIEmqUMgqaf
Messages postés
108
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
26 juin 2017
4
parfait !
merci beaucoup f894009