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 :

Ouvrir access à partir Excel avec tri par ordre [XL-2019]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 438
    Par défaut Ouvrir access à partir Excel avec tri par ordre
    Bonjour
    J'ai mon code qui me permet d'ouvrir Access, tout fonctionne bien, maintenant je veux savoir s'il est possible de trier mon champs tel que:
    OrderBy = "DateOperation asc"
    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
     Sub Y3_OuvertureFormAccess()
              'Défini un objet access
              Dim objAccess As New Access.Application
              Dim CheminDB As String
              'Dim Repertoire As String
              'Dim Fichier As String
              Dim OuvrirFichier As Boolean
    10        NomProcedure = "OuvrirAccess"
    11        Fichier = "Nav_Courant_10-20.accdb"
    12        Repertoire = "D:\Dropbox\Access\Travail\OK\"
    13        CheminDB = Repertoire & Fichier
    14        If FichierExiste(Repertoire & Fichier) = True Then
                  'Debug.Print "Le dossier " & CheminDB & " existe..."
    15        Else
                  'Debug.Print "Le dossier " & CheminDB & " n'existe pas."
    16            MsgBox "Le dossier " & CheminDB & " n'existe pas."
    17            End
    18        End If
    19        objAccess.OpenCurrentDatabase CheminDB
              'Ouvre le Formulaire, acNormal pour le voir en mode affichage,
    20        objAccess.DoCmd.OpenForm "_f_Navigation", acNormal
     
              'Pour rendre le tout visible à l'utilisateur
    21        objAccess.Visible = True
    22        Set objAccess = Nothing
          End Sub
    Merci de votre aide

  2. #2
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 288
    Par défaut
    Salut
    Le plus simple serait de le faire sur le form directement.
    Onglet Données - Propriété Tri par : ORDER BY DateOperation ASC
    Sinon et a tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim strOrderBy As String
    strOrderBy = "[DateOperation ] ASC"
     
    objAccess.DoCmd.OpenForm "_f_Navigation", acNormal
    Forms![_f_Navigation].OrderBy = strOrderBy
    Forms![_f_Navigation].OrderByOn = True

  3. #3
    Membre éclairé Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 438
    Par défaut
    merci hyperion13 pour ta réponse,
    Je me suis légèrement trompé dans ma demande, mais je pense que ça n'a pas d'importance. En effet "dateOperation" se trouve dans un contrôle d'onglets.
    1-Auparavant, effectivement, je triais en arrivant dans le formulaire. Mais je voulais m'épargner un clic !
    2-J'ai repris ta formule avec 2 lignes en plus (provisoires pour vérifier que je suis sur la bonne colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            Forms("[_f_Navigation]").Controls("[Formulaire Operation]").Controls("[dateOperation]").Visible = False
            Forms("[_f_Navigation]").Controls("[Formulaire Operation]").Controls("[dateOperation]").Visible = True
            Forms("[_f_Navigation]").Controls("[Formulaire Operation]").Controls("[dateOperation]").OrderBy = strOrderBy
            Forms("[_f_Navigation]").Controls("[Formulaire Operation]").Controls("[dateOperation]").OrderByOn = True
    La 1ère et la deuxième ligne s'exécutent parfaitement, puis lorsque j'arrive sur la 3ème ligne, j'obtiens le message :
    Erreur d'exécution '438' : Propriété ou méthode non gérée par cet objet.

  4. #4
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 288
    Par défaut
    re,
    Vous êtes, sauf erreur de ma part, dans un formulaire de navigation.
    A l'ouverture de votre form de navigation, l'onglet Opérations est-il actif?

  5. #5
    Membre éclairé Avatar de Superpat9999
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2003
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 438
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    re,
    Vous êtes, sauf erreur de ma part, dans un formulaire de navigation.
    A l'ouverture de votre form de navigation, l'onglet Opérations est-il actif?
    Non, il s'agit d'un formulaire "_f_Navigation" où j'ai installé un contrôle d'onglets avec un formulaire dans chaque onglet.
    Oui l'onglet est actif.
    Citation Envoyé par deedolith Voir le message
    J'essaierais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms("[_f_Navigation]").Controls("[Formulaire Operation]").OrderBy = strOrderBy
    Ou cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms("[Formulaire Operation]").OrderBy = strOrderBy
    La première solution me donne Erreur 438 Propriété ou méthode non gérée par cet objet
    La seconde solution me donne Erreur 2450 ... ne trouve pas le formulaire "formulaire Opération" auquel il est fait référence.
    Les lignes 1 et 2 que j'avais rajouté, me masquaient bien la colonne DateOperation puis la rendaient visible.

  6. #6
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 288
    Par défaut
    re
    pour ma part, lorsqu'on évoque formulaire de navigation, c'est le type de form en img1.
    à priori vous avez un form principal dans lequel vous avez inséré un contrôle d'onglets img2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim strOrderBy As String
    strOrderBy = "[dateOperation] DESC"
    'Forms![_f_Navigation]![Formulaire Operation].SetFocus
    Forms![_f_Navigation]![Formulaire Operation].Form.OrderBy = strOrderBy
    Forms![_f_Navigation]![Formulaire Operation].Form.OrderByOn = True
    Images attachées Images attachées   

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 524
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 524
    Par défaut
    Citation Envoyé par Superpat9999 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            Forms("[_f_Navigation]").Controls("[Formulaire Operation]").Controls("[dateOperation]").OrderBy = strOrderBy
            Forms("[_f_Navigation]").Controls("[Formulaire Operation]").Controls("[dateOperation]").OrderByOn = True
    Normal, c'est le formulaire qu'il faut trier.
    Pas le contrôle ...

  8. #8
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 288
    Par défaut
    @Superpat9999 va rester sur sa faim.
    La juste syntaxe est laquelle ?
    Citation Envoyé par deedolith Voir le message
    Normal, c'est le formulaire qu'il faut trier.
    Pas le contrôle ...

  9. #9
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 524
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 524
    Par défaut
    J'essaierais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms("[_f_Navigation]").Controls("[Formulaire Operation]").OrderBy = strOrderBy
    Ou cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms("[Formulaire Operation]").OrderBy = strOrderBy

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

Discussions similaires

  1. [BASH] Tri par ordre alphabétique avec ()
    Par Svengali48 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 25/10/2015, 07h45
  2. SELECT Distinct avec tri par ordre d'apparition
    Par Nono23 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/07/2012, 15h16
  3. [AC-2003] Ouvrir un fichier excel avec un bouton access
    Par Piccou dans le forum VBA Access
    Réponses: 1
    Dernier message: 01/08/2009, 10h51
  4. Réponses: 8
    Dernier message: 26/07/2007, 11h46
  5. [Excel\VBA] tri par ordre alphabatique et cellule associée
    Par jefe.k dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/02/2007, 15h40

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