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 :

Barre de progression sur formulaire continu. [AC-2016]


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut Barre de progression sur formulaire continu.
    Bonjour,

    Toujours dans le même contexte que mon précèdent post https://www.developpez.net/forums/d2...on-formulaire/, je cherche actuellement a mettre une barre de progression sur chaque ligne du formulaire continu.

    J'ai essayé en reprenant le code qui m'a été donné, mais ca ne marche pas, le code serait peut être diffèrent d'un formulaire a affichage simple a un formulaire a affichage continu ?

    Merci.

    Salutations

  2. #2
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    Voici quelques explications sur ce que je souhaiterais avoir comme résultat :

    Les dates représentent le début et la fin des travaux sur un exercice, ils représentent les réalisations physique d'un projet, sur le même formulaire, c'est a dire sur un formulaire unique, nous avons les réalisations financières du projet, le but serait de voir le décalage entre le physique et financier.
    J'essaye d'avoir la même chose mais sur un formulaire continu, j'utilise le code qui m'a été donné par "Robert1957", qui marche tres bien sur le formulaire unique, mais qui ne marche pas sur le formulaire continu et que voici :

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    'Fonction qui vérifie si il y a une date mais ne vérifie pas si la date est valide
    'Retourne vrai si une des dates est manquantes
    Private Function VerificationDesDates() As Boolean
     
        VerificationDesDates = False
        If Nz(Me.TxtDebut, "") = "" Or Nz(Me.Txtfin, "") = "" Then: VerificationDesDates = True
     
    End Function
    'Fonction qui retourne un chiffre compris entre 0 et 1 et qui sera traduit en %
    'La fonction retourne 0 si une des dates est manquantes
    'La fonction retourne 1 si la date est dépassée
    Private Function Pourcentage() As Single
    On Error GoTo gestion_err
     
        Dim JourProjet As Integer, JourEcoule As Integer
        Dim JourPercent As Single
     
        If VerificationDesDates Then
            JourPercent = 0
        Else
            JourProjet = DateDiff("d", Me.TxtDebut, Me.Txtfin)
            JourEcoule = DateDiff("d", Me.TxtDebut, Date)
            JourPercent = JourEcoule / JourProjet
        End If
        If JourPercent > 1 Then: JourPercent = 1
        Pourcentage = JourPercent
     
    Sortie:
    Exit Function
    gestion_err:
        MsgBox Err.Description & Chr(13) & "Numéro de l'erreur :  " & Err.Number
    End Function
    'Sub qui met à jour la barre de progression et qui pourra être appelé suite à différentes manipulation des données
    Private Sub MaJBarreProgression()
    On Error GoTo gestion_err
     
        Dim JourPercent As Single
     
        JourPercent = Pourcentage
        If JourPercent = 0 Then
            Me.lblProgressBack.Caption = Format(JourPercent, "0.0%")
            Me.lblProgressBar.Caption = ""
        Else
            Me.lblProgressBar.Caption = Format(JourPercent, "0.0%")
            Me.lblProgressBack.Caption = ""
        End If
        Me.lblProgressBar.Width = Me.lblProgressBack.Width * JourPercent
     
    Sortie:
    Exit Sub
    gestion_err:
        MsgBox Err.Description & Chr(13) & "Numéro de l'erreur :  " & Err.Number
     
    End Sub
    'Appel de la sub lorsque le formulaire change de record
    Private Sub Form_Current()
        MaJBarreProgression
    End Sub
    Son auteur a mis des commentaires pour plus de compréhension et a toute fin utile.

    En ce qui concerne le but est d'avoir une vue d'ensemble sur tous les projets, réalisations physique ou financières.

    J'espère avoir donné plus de détails.

    Merci.

    Cordialement.

  3. #3
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut
    Une idée comme ça sans avoir testé.
    Insérer une textbox indépendante et dans Source contrôle passer =MaJBarreProgression()
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  4. #4
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    J'ai essayé, malheureusement ca ne marche pas.

    Le problème c'est que je n'ai aucun message d'erreur, mais ca ne marche pas.

    SAlutations

  5. #5
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour adelion7015, hyperion13,

    Je n'ai pas la moindre idée de la façon que vous avez essayé d'intégrer le code mais c'est certain que ça ne fonctionnera pas.

    En mode continu il faut travailler au niveau de la requête de votre formulaire pour avoir le pourcentage sur chaque enregistrement et non pas le calculé lors de l'événement "current" du formulaire puisque ça va se refléter pour tous les enregistrements. Ensuite il faut se servir des outils qui permettent un affichage différent dans un formulaire en continu. Une façon de faire serait d'insérer une image différente de la barre de progression selon l'avancement, dans un objet "OLE dépendant". Il y a aussi moyen de jouer avec des "Zone de texte" pour simuler une barre de progression.

    Ça reste du bidouillage mais je trouvais l'idée intéressante, je vous ai donc fait un exemple. J'ai récupéré votre table "tbl_puits" ainsi que votre requête "q_puitsb" que j'ai un peu modifié pour qu'elle donne les résultats nécessaires pour ensuite à l'aide de la mise en forme conditionnel faire une barre de progression. Il vous faudra peut-être adapté un peu pour vos besoin, mais l'idée est là.

    Voici la Bd:

    BarreProgression.zip

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  6. #6
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    Je vais essayer d'adapter votre solution a mes besoins, je reviendrais en cas de petit souci.

    Un grand merci a vous.

    Salutations.

  7. #7
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Re bonjour,

    Ca marche très bien, en tout cas ca répond a mon besoin, sauf que n'arrive pas a faire ressortir comme sur votre base, le taux de pourcentage sur la barre de progression.

    J'ai aussi une petite remarque, j'ai un exemple d'un programme qui n'a pas encore démarré, il est prévu du 10/12/2023 au 31/12/2023, sur la barre de progression du "formulaire unique" il m'affiche le taux de (-1819,0%).

    il est possible pour ce genre de cas, d'avoir 0%, jusqu'au début du programme.

    Merci.

    Salutations.

  8. #8
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour adelion7015,

    Ca marche très bien, en tout cas ca répond a mon besoin, sauf que n'arrive pas a faire ressortir comme sur votre base, le taux de pourcentage sur la barre de progression.
    C'est probablement causé par vos manipulations des objets "Zone de texte". Il faut que la "Zone de texte" "Complete" soit mis au premier plan.
    il est possible pour ce genre de cas, d'avoir 0%, jusqu'au début du programme
    J'ai modifié la requête pour qu'elle affiche les réponses désirées et ajouté une mise en forme pour la couleur du texte de "Complete'.
    1. La période est au passé. (> 1 ou 100%)
    2. La période est > 50%.
    3. La période est < 50%.
    4. La période n'est pas débuté. (<0)

    Nom : BarreProgression.png
Affichages : 143
Taille : 20,7 Ko

    Voici la Bd corrigée:
    BarreProgressionCorrigée.zip

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  9. #9
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    Je viens de faire la modification, ca marche impeccablement bien, pour l'affichage du taux, vous aviez raison l'objet complète n'était son "style de fond" n'était pas transparent.

    Je reviendrais dans un autre post pour la correction de l'anomalie relative a l'affichage du taux pour les programmes non encore entamé.

    Encore merci.

    Cordialement.

  10. #10
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour adelion7015,

    Dans la Bd de mon dernier post j'ai corrigé la requête pour avoir 0 lorsque le projet n'est pas encore débuté.

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  11. #11
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Voici une autre solution, plus dynamique et plus simple à mettre en œuvre à mon goût.

    ProgressBar_ds_ssForm.zip
    "Always look at the bright side of life." Monty Python.

  12. #12
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 869
    Points : 3 448
    Points
    3 448
    Par défaut
    Bonjour micniv,

    Je viens de regarder votre solution et effectivement elle est beaucoup mieux. Bien joué de penser à un symbole pour créer la barre de progression.

    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  13. #13
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Merci Robert,
    c'est ta solution qui fonctionne bien mais qui m'a donné envie de chercher + !
    "Always look at the bright side of life." Monty Python.

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

Discussions similaires

  1. [AC-2016] Insertion d'une barre de progression sur un formulaire.
    Par adelion7015 dans le forum IHM
    Réponses: 19
    Dernier message: 08/11/2022, 10h58
  2. [AC-2003] barre de progression sur un formulaire access
    Par facteur dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/09/2012, 14h18
  3. Présentation sur formulaire continu
    Par Michel DELAVAL dans le forum Access
    Réponses: 3
    Dernier message: 09/03/2006, 18h28
  4. [VBA-A]paramétrer une barre de progression sur une requête
    Par jeronimo dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/02/2006, 20h38
  5. Barre de progression sur une requète SQL
    Par Wilco dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/04/2005, 14h20

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