IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Chercher une date avec un UserForm


Sujet :

Excel

  1. #1
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut Chercher une date avec un UserForm
    Bonjour,

    Cette macro fonctionne à merveille pour rechercher du texte, mais impossible de trouver une date alors que la recherche excel trouve mes dates sans problème.

    Merci pour votre aide
    Philippe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Private Sub BT_Chercher_Click()
    Dim Trouve As Range
    Dim PlageDeRecherche As Range
    Dim Valeur_Cherchee As Variant
    Dim AdresseTrouvee As String
    Application.ScreenUpdating = False
        Valeur_Cherchee = TextBoxDate
     
        If TextBoxDate <> Format(TextBoxDate, "dd.mm.yyyy") Then
            MsgBox "Saisir la date au format 01.12.2020"
        Exit Sub
        Else
            Valeur_Cherchee = TextBoxDate
            Set PlageDeRecherche = ActiveSheet.Range("BE49:AKD49") 'Important!!! pour les dates ou les nombres = Format de cellule ajuster au texte
            Set Trouve = PlageDeRecherche.Find(What:=Valeur_Cherchee, LookIn:=xlValues, LookAt:=xlWhole)
            'traitement de l'erreur possible : Si on ne trouve rien :
            If Trouve Is Nothing Then
                    'ici, traitement pour le cas où la valeur n'est pas trouvée
                        MsgBox " La recherche demandée n'éxiste pas.", vbExclamation, "! Oups ! Action interrompue"
                    Else
                        'ici, traitement pour le cas où la valeur est trouvée
                        AdresseTrouvee = Trouve.Address
                        Range(AdresseTrouvee).Offset(rowOffset:=-1, columnOffset:=0).Select
    Unload Me
        End If
    End If
    Application.ScreenUpdating = True
    End Sub

  2. #2
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 725
    Points : 184
    Points
    184
    Par défaut
    Voici une solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Option Explicit
    Private Sub BT_Annuler_Click()
    Dim ColonneCelluleActive As Variant
    Dim Ligne As Variant
    'Sortir de la plage
        Unload Me
        Ligne = 44
            ColonneCelluleActive = ActiveCell.Column
            Cells(Ligne, ColonneCelluleActive).Select
    End Sub
    Sub BT_Chercher_Date_Entete_Click()
    Dim Trouve As Range
    Dim PlageDeRecherche As Range
    Dim Valeur_Cherchee As Variant
    Dim AdresseTrouvee As String
    Application.ScreenUpdating = False
        Valeur_Cherchee = TextBoxDate
     
        If TextBoxDate <> Format(TextBoxDate, "dd.mm.yyyy") Then
            MsgBox "Saisir la date au format 01.12.2020"
        Exit Sub
        Else
            If TextBoxDate = "" Then 'Pour éviter l'erreur si la TextBoxDate est vide
                Unload Me
            Exit Sub
            Else
                Valeur_Cherchee = CDate(TextBoxDate)
                Set PlageDeRecherche = ActiveSheet.Range("BE49:AKD49") 'Important!!! pour les dates ou les nombres = Format de cellule ajuster au texte
                Set Trouve = PlageDeRecherche.Find(What:=Valeur_Cherchee, LookIn:=xlValues, LookAt:=xlWhole)
                'traitement de l'erreur possible : Si on ne trouve rien :
                If Trouve Is Nothing Then
                        'ici, traitement pour le cas où la valeur n'est pas trouvée
                            MsgBox " La recherche demandée n'éxiste pas.", vbExclamation, "! Oups ! Action interrompue"
                        Else
                            'ici, traitement pour le cas où la valeur est trouvée
                            AdresseTrouvee = Trouve.Address
                            Range(AdresseTrouvee).Select
                                    ActiveWindow.ScrollColumn = ActiveCell.Column
    Unload Me
            End If
        End If
    End If
    Application.ScreenUpdating = True
    End Sub
    Private Sub BT_Today_Click()
        Me.TextBoxDate = Format(Date, ("dd.mm.yyyy"))
        USF_Entete_Planning.BT_Chercher_Date_Entete_Click
    End Sub
     
    Private Sub UserForm_Initialize()
        Me.BT_Today.Caption = Format(Date, ("dd.mm.yyyy"))
            Me.TextBoxDate.SetFocus 'Place le curseur dans la textbox
            Label_Planning_Debut_Fin = "Saisir une date" & vbCrLf & vbCrLf & "entre le " & Range("BE49") & " et le " & Range("AKD49")
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme avec find pour chercher une date
    Par Patnel dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/10/2011, 07h41
  2. Addition d'une date avec des secondes
    Par V_R46 dans le forum C++
    Réponses: 3
    Dernier message: 13/12/2006, 17h23
  3. Réponses: 3
    Dernier message: 12/07/2006, 09h13
  4. [Dates] Modifier une date avec 'substr'
    Par R'SKaP dans le forum Langage
    Réponses: 4
    Dernier message: 01/06/2006, 12h40
  5. Parser une date avec un format
    Par titoine1978 dans le forum C++
    Réponses: 15
    Dernier message: 03/04/2006, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo