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

VBA Access Discussion :

Trier en VBA


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 93
    Par défaut Trier en VBA
    Bonjour,

    Je n'arrive pas à trier par date le résultat de mon filtre (qui lui fonctionne).


    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
    Private Sub BoutonRechercher_Click()
    Dim strFiltre As String
    Dim strTri As String
    Dim suivi As Integer
     
     
    On Error Resume Next
    strFiltre = ""
    strTri = [DATE_JOUR].OrderBy
     
     
    'Filtre sur les noms
    If Me.FiltreParNom <> "" Then
        strFiltre = "([NOM__PR_NO]like'*" & Me.FiltreParNom & "*')"
        suivi = 1
    End If
     
    'Filtre sur les dates
     
    If Me.FiltreParDateJour <> "" Then
        If suivi = 1 Then
            strFiltre = strFiltre & " AND " & "([DATE_JOUR]>=#" & Format(Me.FiltreParDateJour, "mm dd yy") & "#)"
            Else: strFiltre = "([DATE_JOUR]>=#" & Format(Me.FiltreParDateJour, "mm dd yy") & "#)"
        End If
        suivi = 1
    End If
     
     
    'Filtrer le sous-formulaire
    With Me.frmSaisieContrat.Form
        .Filter = strFiltre
        .FilterOn = True
        End With
     
    'Trier le sous formulaire par date
    With Me.frmSaisieContrat.Form
        .OrderByOn = strTri
        .OrderByOn = True
        End With
     
    End Sub
    Merci pour votre aide.

    Fred

  2. #2
    Expert confirmé
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Par défaut
    Salut,

    Concernant le renseignement du Champs je verrais plutot comme cela
    Pourquoi passe tu par une variable StrTri ?

    Tu peux mettre directement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'Trier le sous formulaire par date
    With Me.frmSaisieContrat.Form
        .OrderByOn = "DATE_JOUR"
        .OrderByOn = True
    End With
    Dolphy

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 93
    Par défaut
    Parce que je savais pas faire autrement. C'est bien plus simple ainsi.

    Merci beaucoup pour l'info.

    A+

    Fred

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Par défaut OrderBY <> OrderByOn
    Bonsoir.

    Attention, il y a une petite erreur.
    Il faut utiliser OrderBy et OrderByOn.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'Trier le sous formulaire par date
    With Me.frmSaisieContrat.Form
        .OrderBy = "DATE_JOUR"
        .OrderByOn = True
    End With

  5. #5
    Expert confirmé
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Par défaut
    bsr ==JBO=,

    Citation Envoyé par =JBO=
    Bonsoir.

    Attention, il y a une petite erreur.
    Il faut utiliser OrderBy et OrderByOn.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'Trier le sous formulaire par date
    With Me.frmSaisieContrat.Form
        .OrderBy = "DATE_JOUR"
        .OrderByOn = True
    End With
    je n'avais pas vu l'erreur.

    Dolphy

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 93
    Par défaut
    Merci à vous deux.

    C'est vrai que j'avais du mal mais avec la correction d'erreur ça va mieux.

    A+

    Fred

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

Discussions similaires

  1. Trier une plage de cellules
    Par Squelet dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 03/12/2019, 13h04
  2. trier une table en vba
    Par slimsamfr dans le forum Access
    Réponses: 1
    Dernier message: 28/06/2006, 18h14
  3. [VBA-E] Trier les colonnes sur toute la feuille
    Par tro2blabla dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 30/05/2006, 11h49
  4. [VBA Excel] Trier une plage à plusieurs colonnes
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 22/12/2005, 17h04
  5. [VBA] Trier les colonnes d'une listview
    Par alncool dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/09/2005, 14h12

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