rechercher et afficher les résultats

  • Initiateur de la discussion Initiateur de la discussion maya
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

maya

Guest
Bonsoir et merci de lire mon message et peut-être (je l'espère) m'apporter votre aide. Puisque rien n'est impossible avec excel voici mon projet. J'ai un fichier dans lequel je veux enregistrer des dossiers (feuille dossiers). Je souhaiterais ensuite (feuille formulaire) pouvoir lancer une recherche à partir du critère que je choisis et afficher dessous tous les résultats. J'espère être explicite. Merci de prendre un peu de temps !
 
Bonjour Maya, le forum,

Voici une macro qui utilise la fonction filtre et copie les données :

Code:
Sub Lister()
    Dim i As Long, Rdate As Date, RCategorie As String, RObjet As String, RParticipant As String
    Dim FormatN As String
    
    Sheets('Formulaire').Select
    If IsDate(Range('F13')) Then Rdate = Range('F13')
    If Range('F15') <> '' Then RCategorie = Range('F15')
    If Range('F17') <> '' Then RObjet = Range('F17')
    If Range('F19') <> '' Then RParticipant = Range('F19')

    i = Range('D24').End(xlDown).Row
    Range('D24:G' & i).ClearContents

    Sheets('Dossiers').Select
    Range('A2').Select
    FormatN = Selection.NumberFormat
    i = Sheets('Dossiers').Range('A2').End(xlDown).Row
    If i = 65536 Then
        Sheets('Formulaire').Select
        Exit Sub
    End If
    If Rdate <> 0 Then Selection.AutoFilter Field:=1, Criteria1:='=' & Format(Rdate, FormatN), Operator:=xlAnd
    If RCategorie <> '' Then Selection.AutoFilter Field:=2, Criteria1:='=' & RCategorie, Operator:=xlAnd
    If RObjet <> '' Then Selection.AutoFilter Field:=3, Criteria1:='=' & RObjet, Operator:=xlAnd
    If RParticipant <> '' Then Selection.AutoFilter Field:=4, Criteria1:='=' & RParticipant, Operator:=xlAnd

    Sheets('Dossiers').Range('A1:D' & i + 1).Copy Sheets('Formulaire').Range('D23') ':G' & 24 + i)
    
    Selection.AutoFilter
    Sheets('Formulaire').Select
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
401
Réponses
4
Affichages
483
Réponses
3
Affichages
255
Retour