Afficher liste en saisissant une date

Résolu
jetset30 Messages postés 32 Statut Membre -  
jetset30 Messages postés 32 Statut Membre -
Bonjour,

Je cherche à créer un macro qui me permettrait à l'ouverture du fichier excel de saisir une date dans un userform puis en validant m'afficherait la liste du personnel du jour demandé.

Merci d'avance

https://www.cjoint.com/?flkUyI4IRy

Configuration: Windows XP
Firefox 2.0.0.6

5 réponses

  1. dandypunk Messages postés 838 Statut Membre 83
     
    Le nombre de personnes est il fixe ou peut-il évoluer ?
    0
  2. dandypunk Messages postés 838 Statut Membre 83
     
    Un début de réponse.

    Ce code doit être inséré dans ThisWorkbook
    Private Sub Workbook_Activate()
        Dim sDateRecherche As String
        Dim sPortée As String
        Dim rResultat As Range
        Dim sListePersonnel As String
        Dim bSortie As Boolean
        
        sDateRecherche = InputBox("Quelle est la date de recherche", "Saisie de la date")
        
        'On suppose que ton tableau se trouve sur la feuille 1 et commence en A1
        
        'Définition de la portée de la recherche
        Range("A1").End(xlToRight).Select   'On sélectionne la dernière colonne
        sPortée = ("A1:") + Chr(ActiveCell.Column + 64) + "1"
        
        Set rResultat = Worksheets(1).Range(sPortée).Find(sDateRecherche) 'On recherche la date
        If rResultat Is Nothing Then
            MsgBox ("Recherche infructueuse")
        Else
            sPortée = Chr(rResultat.Column + 64) + CStr(rResultat.Row + 1)
            rResultat.End(xlDown).Activate
            sPortée = sPortée + ":" + Chr(ActiveCell.Column + 64) + CStr(ActiveCell.Row)
            Range(sPortée).Select
            sListePersonnel = "Les personnes concernées pour le " + sDateRecherche + " sont :"
            For Each Cellule In Selection
                sListePersonnel = sListePersonnel + vbCr + Cellule.Value
            Next
            bSortie = MsgBox(sListePersonnel, vbOKOnly, "Résultat")
        End If
        
        Range("A1").Activate 'on se repositionne sur la première cellule
        
    End Sub
    0
  3. jetset30 Messages postés 32 Statut Membre
     
    Salut dandypunk et merci ça fonctionne!!

    A+
    0
  4. dandypunk Messages postés 838 Statut Membre 83
     
    Merci du merci.
    N'oublie pas de mettre ton post comme réglé.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jetset30 Messages postés 32 Statut Membre
     
    OK
    0