Macro de recherches dans les archives et affichage du résultat dans une page

wolfloner

XLDnaute Nouveau
Bonjours à tous et encore merci pour les précédentes réponses.

Je viens à vous car je me retrouve devant une nouvelle difficulté, laquelle j'en suis sur vous prendra que quelques minutes à la résoudre, mais moi, je ne sais pas comment faire puisque celle-ci est une macro de recherche.

Alors voilà, je vous explique mon problème. La première chose que vous devez savoir c'est que ce classeur a pour objectif, le suivit des entrées et sorties de personnes dans les villages d'un comté, avec en option un archivage des listes de personnes pour une recherche ultérieur.

Pour plus de détails :
- feuille autre (ne sert à rien mais je le garde pour des objets ou des truc à ajouter)
- feuille reperer (permet l'entrée des donnée comme la liste de noms des habitants des villages)
- feuille suivit (serait la feuille de résultat de la recherche)
- feuille liste villageois (sont les listes des villageois de la veille)
- feuille liste villageois nouvelle (sont les listes des villageois du jour obtenu par la validation du bouton du village sur la page reperer)
- les feuilles arrivées départs (sont les résultat des rechercheV celon le village indiqué)
- les feuilles archives "village machin" (sont les archives par date des anciennes liste d'habitant datant d'au moins 2 jours pour la dernière)

Celà fait un sacré paquet de données. Donc ce que je cherche à faire, c'est que sur la feuille "reperer", j'ai mit une cellule vide pour y entrer un nom que je recherche; dans mon exemple "Wolfloner" et j'ai ajouter un bouton recherche sur lequel dès que je clique, je souhaiterai obtenir la liste par date décroissante des lieux où il se trouvait. Dans mon exemple le résultat devrait être sur la feuille nommé "suivit" :

cellB3 : wolfloner
cellB4 :Guéret : lundi 1 janvier
cellB5 :Ventadour : mercredi 3 janvier
cellB6 :Guéret : jeudi 4 janvier
cellB7 :Rochechouart : samedi 6 janvier
cellB8 (etc..... si nécessaire)

Les noms des villages pouvant être repiquer en cell A1 de chacune des archives. Par contre dans mon exemple, la personne se nomme wolfloner de Gaillimh, il faut donc que tout ce qui se trouve dans un nom avant un espace soit identifiable, car ce qui se trouve après peu être modifiable et donc n'étant pas une variable sûr et de toute façon celà ne m'interesse pas.
En même temps que le résultat soit obtenu, ce qui est inscrit dans la cellule G2 de recherche de la feuille "reperer" doit disparaitre pour laisser la place à une nouvelle recherche si necessaire. Et la feuille "suivit" doit se mettre en avant afin de la consulter sans aller chercher l'onglet en question.

Je sais que ma demande est des plus étranges et je remercie tout ceux qui participeront à me donner une réponse.

Je finirai par dire que ce classeur a pour but de devenir un html, donc si vous pouviez me dire s'il est préférable que j'insere des "zone texte active x" à la place des cellules F8:G1000 et à la place de la cellule G2, afin que ce classeur soit modifiable en ligne. Mais je vous poserais très certainement la question ultérieurement sur le comment mettre tout ce petit monde sur un html cohérant^^.

Bien à vous et d'avance merci

WLF

le fichier étant un peu lourd je me suis permit de le mettre sur un autre hébergeur :

http://www.archive-host.com/files/1...355408083ae7960fc07a082239/wolfloner_V3a.xlsm
 

eriiic

XLDnaute Barbatruc
Re : Macro de recherches dans les archives et affichage du résultat dans une page

Bonjour,

Une proposition :
Code:
Sub rechercher()
    Dim sh As Worksheet, shDest As Worksheet
    Dim nom As String, c As Range, firstAddress As String, lig As Long
    '
    nom = Trim([G2])
    Set shDest = Worksheets("Suivit")
    Application.ScreenUpdating = False
    ' nettoyer
    shDest.Cells.ClearContents
    shDest.[B3] = nom
    ' rechercher
    lig = 4
    For Each sh In Worksheets
        If Left(sh.Name, 8) = "Archives" Then
            With sh.Cells
                Set c = .Find(nom, LookIn:=xlValues)
                If Not c Is Nothing Then
                    firstAddress = c.Address
                    Do
                        ' inscrire village
                        shDest.Cells(lig, 2) = sh.[A1]
                        ' inscrire date
                        shDest.Cells(lig, 3) = sh.Cells(3, c.Column)
                        lig = lig + 1
                        Set c = .FindNext(c)
                    Loop While Not c Is Nothing And c.Address <> firstAddress
                End If
            End With
        End If
    Next sh
    ' trier
    shDest.Activate
    Set c = shDest.[B4].Resize(shDest.[B4].End(xlDown).Row - 3, 2)
    c.Sort Key1:=Range("C4"), Order1:=xlAscending, Header:=xlNo
    'Worksheets("Relever").Activate
    Application.ScreenUpdating = True
End Sub

eric

PS :
1) j'ai fait avec contient le nom et non commence par. Dis si c'est gênant.
2 je ne fais que les feuilles Archives.
S'il faut faire d'autres feuilles donner la manip pour avoir les noms et la date à mettre.
3) j'ai dû modifier tes dates pour que ce soit des dates excel avec format personnalisé : jjjj j mmmm aaaa
 
Dernière édition:

wolfloner

XLDnaute Nouveau
Re : Macro de recherches dans les archives et affichage du résultat dans une page

Merci Eriiiic, c'est bien ce que je demandais, tu me retire une bonne épine du pied.

J'ai une petite question toutefois. Lorsque je fais la recherche pour un autre nom, par exemple "Barbeblues", les résultats obtenu ne sont pas dans l'ordre chronologique exacte :
Voici le résultat de recherche :

barbeblues
Guéret Jeudi 4 janvier
Ventadour Jeudi 4 janvier
Guéret Lundi 1 janvier
Ventadour Lundi 1 janvier
Bourganeuf Mardi 2 janvier
Ventadour Mercredi 3 janvier
Rochechouart Samedi 6 janvier

Alors bien sur lorsque j'ai fait l'essais en mettant le nom dans les colonnes correspondantes au dates mais en dessous de ceux qui se trouvait dans les dates postérieures

ex : pour archives guéret :
A9 et D7

pour archives de ventadour
A8 et C5

Je pense donc que ta recherche se fait ligne par ligne à la place de ce faire de colonne à colonne. ou alors c'est un problème de triage.

Merci d'avance
 

eriiic

XLDnaute Barbatruc
Re : Macro de recherches dans les archives et affichage du résultat dans une page

Re,

as-tu modifié tes dates dans les feuilles Archives comme je te l'indiquais au 3) ?
C'est justement pour avoir un tri correct.
Il faut saisir 01/01/2012 et mettre le format indiqué. C'est vrai que je pensais joindre le fichier mais au moment de le faire j'ai laissé tombé vu sa taille.

eric
 

wolfloner

XLDnaute Nouveau
Re : Macro de recherches dans les archives et affichage du résultat dans une page

Oui effectivement :S c'est bon.

Un grand merci, franchement, faudra un jour m'expliqué comment vous répondez aussi vite et où prendre des cours car vraiment vous êtes super doué.

Eriiiic, infiniment merci :)
 

Discussions similaires

Réponses
12
Affichages
269

Statistiques des forums

Discussions
311 720
Messages
2 081 907
Membres
101 836
dernier inscrit
karmon