Afficher liste en saisissant une date
Résolu
jetset30
Messages postés
32
Statut
Membre
-
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
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
A voir également:
- Afficher liste en saisissant une date
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Comment saisir une adresse url - Guide
- Site dangereux liste - Guide
- Afficher google en page d'accueil - Guide
5 réponses
Un début de réponse.
Ce code doit être inséré dans ThisWorkbook
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question