Recherche
Les mémos
-
Tables
- · Annuler la suppression
- · Attacher feuilles Excel
- · Cacher une table
- · Concaténer une colonne
- · Créer une table
- · Dernière modification
- · Index composé
- · Limiter les enregistrements
- · Liste des champs
- · Modifier valeur de champ
- · Où est la table
- · Peupler une table de Logs
- · Renuméroter un champ
- · Réattacher les liens
- · Réattacher les liens locaux
- · Scinder un champ
- · Supprimer les tables liées
- · Trouver la différence
-
Formulaires
- · Afficher les derniers
- · Ajout à liste modifiable
- · Ajouter enregistrement
- · Barre de progression
- · Click ou double-click
- · Confirmer l'enregistrement
- · Copier - Coller
- · Défilement de la roulette
- · Exporter un graphique
- · Filtres personnalisés
- · Identifiants d'un Form continu
- · Importer les formulaires
- · Langue utilisateur
- · Limiter la saisie
- · Mémoriser une valeur
- · No enregistrement
- · Ouvert en normal
- · Position des formulaires
- · Recopier dernière valeur
- · Scroll automatique
- · Switch Modal
- · Tri manuel dans form
- Tri personnalisé
- · Verrouillage de formulaire
- · Vérifier les saisies
-
Automation
-
Administration
- · Chemin de la base
- · Déconnecter utilisateur
- · Désactiver le Shift
- · Désactiver le Shift(2)
- · Liste des références
- · Liste des utilisateurs
- · Lister les applications
- · Mode exclusif
- · Nom d'utilisateur
- · Nom de l'ordinateur
- · Paramètres régionaux
- · Propriétés de la base
- · Sauvegarde journalière
- · Sauvegarde mensuelle
- · Shell and Wait
- · Version de Windows
-
Envoyer un mail
-
Outlook
- · Ajouter des contacts
- · Déplacer les messages
- · Enregistrer pièces jointes
- · Est ouvert ?
- · Exporter les contacts
- · Exporter les rendez-vous
- · Importer les messages
- · Integrer un état
- · Lire les contacts
- · Lire les rendez-vous
- · Lister les dossiers
- · Lister les tâches
- · SendMail (MAPI)
- · SendMail Automation
-
Dates - Heures
-
Fichiers
- · Compter les dossiers
- · Créer un dossier
- · Générer fichier TXT
- · Importer fichier TXT
- · Le dossier existe ?
- · Le fichier existe ?
- · Lister les fichiers
- · Lister les fichiers (2007)
- · Lister les sous-dossiers
- · Rechercher un répertoire
- · Répertoire dans table
- · Supprimer ReadOnly
- · Sélection de dossier
- · Sélection de dossier (API)
- · Sélection de fichiers
- · Sélection fichier (MOL)
-
Références
Je débute...
-
La normalisation
-
VBA
Visites
1271527 visiteurs
3 visiteurs en ligne
Nous contacter
Contact
Tri personnalisé
Tri personnalisé sur formulaire en affichage continu
L'exemple ci-dessous suppose 3 zones de listes modifiables : lstA, lstB et lstC, ainsi que trois cases à cocher pour le choix descendant de chaque liste: chkA, chkB et chkC, le tout placé dans l'entête d'un formulaire avec affichage en mode continu.
On y placera également un bouton pour annuler les tris: cmdOderOff.
Dans l'événement "Sur chargement" du formulaire, on écrira :
Private Sub Form_Load() Dim vField As Variant Dim f As Field '/ Lire le nom des champs With Me.RecordsetClone For Each f In .Fields vField = vField & f.Name & ";" Next End With '/ Initialiser les case à chocher Me.chkA = False Me.chkB = False Me.chkC = False '/ Alimenter les listes lstA.RowSourceType = "Liste valeurs" lstA.RowSource = Left(vField, Len(vField) - 1) lstB.RowSourceType = "Liste valeurs" lstB.RowSource = Left(vField, Len(vField) - 1) lstC.RowSourceType = "Liste valeurs" lstC.RowSource = Left(vField, Len(vField) - 1) End Sub
Pour le bouton annulation du tri :
Private Sub cmdOrderOff_Click() With Me '/ Supprimer le filtre .OrderBy = "" .OrderByOn = False '/ Supprimer les sélections .lstA = "" .lstB = "" .lstC = "" End With End Sub
Sur "Après mise à jour" des listes, on appelera la fonction.
Ici l'exemple pour la liste lstA:
Private Sub lstA_AfterUpdate() OrderMyForm End Sub
Même chose sur "Après mise à jour" des cases à cocher. Ici l'exemple pour la case à cocher "chkA":
Private Sub chkA_AfterUpdate() OrderMyForm End Sub
Il reste à ajouter la fonction qui réalisera les tris :
Function OrderMyForm() Dim sOrder As String '/ Construire la liste If Not IsNull(Me.lstA) Then If chkA Then sOrder = Me.lstA & " DESC," Else sOrder = Me.lstA & "," End If End If If Not IsNull(Me.lstB) Then If chkB Then sOrder = sOrder & Me.lstB & " DESC," Else sOrder = sOrder & Me.lstB & "," End If End If If Not IsNull(Me.lstC) Then If chkC Then sOrder = sOrder & Me.lstC & " DESC," Else sOrder = sOrder & Me.lstC & "," End If End If '/ Activer le tri If Len(sOrder) > 0 Then Me.OrderBy = Left(sOrder, Len(sOrder) - 1) Me.OrderByOn = True End If End Function
Page lue 7699 fois