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

IHM Discussion :

Faire défiler un état d'un nombre x de page


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2018
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2018
    Messages : 125
    Points : 61
    Points
    61
    Par défaut Faire défiler un état d'un nombre x de page
    Bonjour à toutes et tous.
    Voila sur ma base, j'ai un vba qui fait afficher plusieurs état les un derrière les autres tous les 10 secondes.
    Exemple: Affichage Etat1=>tempo=>Fermeture Etat1=>Affichage Etat2=>tempo=>Fermeture Etat2
    Pour cela c'est OK.
    Par contre si j'ai un état qui comporte plusieurs pages, comment je peux faire pour que ces autres pages s'affichent.

    Exemple: Affichage Etat1=>tempo=>Fermeture Etat1=>Affichage Etat2(1)=>tempo=>Fermeture Etat2(1)=>Affichage Etat2(2).........
    Dans cette exemple, l'état 2 a 2 pages, mais il pourrait y en avoir x page.

    Donc comment faire afficher un état avec plusieurs page?

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 369
    Points : 19 771
    Points
    19 771
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Si vous souhaitez faire défiler les x pages, les unes après les autres alors une solution serait d'utiliser la commande SendKeys "{PgDn}", True exécutée sur l'événement minuterie d'un formulaire :


    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
    Option Compare Database
    Option Explicit
     
    Dim indPage As Long ' Déclaration de la variable d'indice au niveau du module du formulaire
     
    Private Sub Form_Open(Cancel As Integer)
    indPage = 1 ' initialisation du numéro de page par exemple sur ouverture du formulaire avec timer
    End Sub
     
    Private Sub Form_Timer() ' Exécution de la routine sur l'événement Timer (réglage aussi de l'intervalle sur minuterie)    
     
        If indPage <= 4 Then
            DoCmd.OpenReport "Etat1", acViewPreview ' ouvre l'état sur page n°1
            If indPage > 1 Then ' si page d'indice supérieur à 1
                SendKeys "{PgDn}", True ' passe à la page d'indice indpage
            End If
            indPage = indPage + 1 ' indice de page suivant
        Else
            DoCmd.Close acReport, "Etat1" ' ferme l'état si déjà ouvert
        End If
     
    End Sub
    Cdlt,

  3. #3
    Membre éclairé
    Homme Profil pro
    Regisseur
    Inscrit en
    Octobre 2006
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Regisseur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2006
    Messages : 475
    Points : 850
    Points
    850
    Par défaut
    Bonjour et bonne année à tous.

    Le problème avec SendKeys, c'est qu'il provoque des effets "pervers".
    Par exemple avec le SendKeys "{PgDn}" et "PgDn", celà fait sauter le verrouillage numérique (sur le clavier).
    Cdlt

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 369
    Points : 19 771
    Points
    19 771
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par Thierry_PALLIER Voir le message
    Bonjour et bonne année à tous.

    Le problème avec SendKeys, c'est qu'il provoque des effets "pervers".
    Par exemple avec le SendKeys "{PgDn}" et "PgDn", celà fait sauter le verrouillage numérique (sur le clavier).
    Cdlt
    Bonjour et merci

    Oui je dois vous avouer que pour le verrouillage numérique j'ai aussi ce souci sans avoir recours à sendkey.

    Cela dit il y a aussi le moyen d'ôter ce verrouillage en VBA.

    Cdlt,

  5. #5
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2018
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2018
    Messages : 125
    Points : 61
    Points
    61
    Par défaut
    Bonjour et merci pour votre aide.

    "If indPage <= 4 Then"
    Je cherche à comprendre lorsque l'on m'aide. Et donc pourquoi le chiffre 4?

    Et on fait comment pour ouvrir l'état sur la page 2?

    Dès que j'aurais testé je reviens vers vous?
    Cordialement
    Anthony

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 369
    Points : 19 771
    Points
    19 771
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Le chiffre 4 c'est le nombre de pages à faire défiler dans votre état.

    Ensuite, si au début vous souhaitez vous positionner directement sur la page 2, alors il faut ôter le if indPage>1, pour faire un page down aussi au début :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Form_Timer() ' Exécution de la routine sur l'événement Timer (réglage aussi de l'intervalle sur minuterie)    
     
        If indPage <= 4 Then
            DoCmd.OpenReport "Etat1", acViewPreview ' ouvre l'état sur page n°1
            SendKeys "{PgDn}", True ' passe à la page d'indice indpage
            indPage = indPage + 1 ' indice de page suivant
        Else
            DoCmd.Close acReport, "Etat1" ' ferme l'état si déjà ouvert
        End If
     
    End Sub

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 369
    Points : 19 771
    Points
    19 771
    Billets dans le blog
    65
    Par défaut
    En fait ça reviens à écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    DoCmd.OpenReport "Etat1", acViewPreview ' 
    SendKeys "{PgDn}", True ' page 2
    
    FONCTION d'ATTENTE
    
    DoCmd.OpenReport "Etat1", acViewPreview ' Pour rendre l'état actif
    SendKeys "{PgDn}", True ' page 3
    
    FONCTION d'ATTENTE
    
    DoCmd.OpenReport "Etat1", acViewPreview  ' Pour rendre l'état actif
    SendKeys "{PgDn}", True ' page 4
    Cdlt,

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/08/2008, 11h52
  2. Faire défiler un texte dans une cellule de tableau
    Par Furius dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 01/12/2005, 17h06
  3. Faire défiler les elements d'un tableau
    Par Laure888 dans le forum Flash
    Réponses: 2
    Dernier message: 12/10/2005, 16h00
  4. Faire défiler un texte sur une fenêtre
    Par Crisanar dans le forum Windows
    Réponses: 15
    Dernier message: 24/11/2004, 23h05
  5. Comment faire défiler un TCustomListView ?
    Par 10_GOTO_10 dans le forum C++Builder
    Réponses: 3
    Dernier message: 29/07/2004, 11h54

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