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

Macros et VBA Excel Discussion :

recherche entre 2 dates


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 89
    Points : 56
    Points
    56
    Par défaut recherche entre 2 dates
    Bonjour à tous,

    Sur un document excel avec interface VB, je veux faire une recherche entre 2 dates, Soit pour la colone C ou la colone D, selon mon choix. Ex: entre le 11 novembre 2005 et le 11 novembre 2006.

    Donc dans mon UserForm, j'ai 2 DTPicker et un bouton recherche.

    Comment faire pour réaliser cela?

    Voici à quoi resemble le fichier excel.

    Merci beaucoup


  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If cdate(Cells(NoLigne,Nocol).value) < cdate(Cells(NoLigne,Nocol2).value) then
    '... ce que tu veux faire dans ce cas là...
    A vrai dire je n'ai pas compris quelle type de recherche tu souhaites faire
    Mais tu vas nous expliquer ça

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 89
    Points : 56
    Points
    56
    Par défaut
    Bien en réalité, ce que je veux faire c’est d’entrer 2 dates au choix dans les 2 DTPicker du UserForm et en cliquant sur le bouton,je voudrait qu'il me filtre la liste des employé (le nom, la formation, la date de formation et la prochaine formation) qui ont eu des formations entre les 2 dates dans le fichier excel et cela en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.WebPagePreview
    Dans le but d'éviter que les gens travail dans le fichier excel.


  4. #4
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 89
    Points : 56
    Points
    56
    Par défaut
    Re bonjour,
    J'ai essayé avec ce code:
    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
    Private Sub CommandButton1_Click()
    ActiveWindow.ScrollWorkbookTabs Position:=xlLast
        Sheets("Formation employé").Select
        Range("A28:D234").Select
        Range(Selection, Selection.End(xlDown)).Select
        ActiveSheet.Unprotect
        Selection.AutoFilter
        ActiveWindow.SmallScroll Down:=-30
        Range("C28").Select
        Selection.AutoFilter Field:=3, Criteria1:=(">DTPicker1"), Operator:=xlOr _
            , Criteria2:=("<DTPicker2")
        ActiveWorkbook.WebPagePreview
        Selection.AutoFilter
        ActiveWindow.SmallScroll Down:=-24
        ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
        Sheets("Accueil").Select
     
    End Sub
    Par contre il ne me donne aucune info.

    Il ne cherche pas les données entre les 2 DTPickers.

    Je continue de chercher tout en attentant votre précieuse aide.

    Merci.

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    avec ce code tu met comm filtre la chaine de caractére
    ">DTPicker1" et pas la valeur issue ... du contrôle...

    essai de ton code du genre


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Criteria1:=">" &  DTPicker1

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 89
    Points : 56
    Points
    56
    Par défaut
    Merci pour les idées maintenant, j'ai des données qui apparaissent. Le problème est que maintenant, il m'affiche tous les données.même ceux qui ne sont pas entre les 2 date


    Voici comment j'ai écrit le code:
    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
    Private Sub CommandButton1_Click()
    ActiveWindow.ScrollWorkbookTabs Position:=xlLast
        Sheets("Formation employé").Select
        Range("A28:D234").Select
        Range(Selection, Selection.End(xlDown)).Select
        ActiveSheet.Unprotect
        Selection.AutoFilter
        ActiveWindow.SmallScroll Down:=-30
        Range("C28").Select
        Selection.AutoFilter Field:=3, Criteria1:=">" & DTPicker1, Operator:=xlOr _
            , Criteria2:="<" & DTPicker2
        ActiveWorkbook.WebPagePreview
        Selection.AutoFilter
        ActiveWindow.SmallScroll Down:=-24
        ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
        Sheets("Accueil").Select
     
    End Sub
    Je continue toujours à chercher moi aussi.

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Révise tes opérateurs ! Ce n'est pas Operator:=xlOr mais xland
    "Or", ça veut dire "ou" en Anglais...

  8. #8
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 89
    Points : 56
    Points
    56
    Par défaut
    Super, tous fonctionne à 100% avec
    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
    Private Sub CommandButton1_Click()
    ActiveWindow.ScrollWorkbookTabs Position:=xlLast
        Sheets("Formation employé").Select
        Range("A28:D234").Select
        Range(Selection, Selection.End(xlDown)).Select
        ActiveSheet.Unprotect
        Selection.AutoFilter
        ActiveWindow.SmallScroll Down:=-30
        Range("C28").Select
        Selection.AutoFilter Field:=3, Criteria1:=">" & "=" & DTPicker1, Operator:=xlAnd _
            , Criteria2:="<" & "=" & DTPicker2
        ActiveWorkbook.WebPagePreview
        Selection.AutoFilter
        ActiveWindow.SmallScroll Down:=-24
        ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
        Sheets("Accueil").Select
     
    End Sub
    Merci beaucoup encore une fois.


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

Discussions similaires

  1. Recherche entre deux date
    Par cantal15 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/06/2007, 21h43
  2. Resultat de recherche entre deux dates
    Par Titeuf_sql dans le forum Langage SQL
    Réponses: 1
    Dernier message: 20/03/2007, 15h38
  3. Recherche entre 2 dates (début/fin)
    Par Julien42 dans le forum Access
    Réponses: 4
    Dernier message: 11/01/2007, 10h33
  4. recherche entre deux dates dans une requête
    Par emmanuel4945 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/11/2006, 21h42
  5. rechercher entre 2 dates
    Par iomega dans le forum Requêtes
    Réponses: 6
    Dernier message: 04/10/2006, 14h16

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