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 :

jauge aiguille VBA


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut jauge aiguille VBA
    Bonjour à tous,

    Confinement oblige, je me suis amusé à créer une jauge graphique à aiguille qui fonctionne en VBA.
    Je joint une copie d'écran ainsi que le fichier complet. Je pense que le code peut être amélioré. Si cela intéresse quelqu'un.
    Cordialement et prenez soin de vous !!!
    GERALD

    Nom : jauge.jpg
Affichages : 837
Taille : 431,4 Ko
    JAUGE AIGUILLE.zip

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 671
    Points : 2 491
    Points
    2 491
    Par défaut Jauge
    Proposition d'amélioration:

    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
    Private Sub btndernier_Click()
        Dim aig As String
        Dim ctl As Control
        Dim k, x As Integer
     
        DoCmd.GoToRecord , "", acLast
     
        On Error GoTo 0
        For j = 1 To 21
            aig = "Aig" & j
            On Error Resume Next
            For Each ctl In Me.Section(acDetail).Controls
                If ctl.Name = aig Then ctl.Visible = False
            Next ctl
        Next j
     
        For x = 0 To 90 Step 5
            If resultat > x And resultat <= x + 5 Then
                k = (x + 5) / 5: DisplayCtrl (k)
            End If
        Next x
        If resultat > 95 And resultat < 100 Then k = 20: DisplayCtrl (k)
        If resultat >= 100 Then k = 21: DisplayCtrl (k)
    End Sub
    '*************************************************************************
    Function DisplayCtrl(ByVal y As Integer)
        aig = "Aig" & y
        Debug.Print aig
        On Error Resume Next
        For Each ctl In Me.Section(acDetail).Controls
            If ctl.Name = aig Then ctl.Visible = True
        Next ctl
    End Function
    à généraliser pour les autres boutons de navigation !
    Il faudra également empêcher de reculer si on a atteint le 1er cas, et empêcher d'avancer si on est en fin de liste.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut
    Bonjour,

    Merci de vous être penché sur ce code ! je teste cet après midi
    et je vous tiens au courant. Je pense que la deuxième partie du code se met dans un module !
    Cordialement
    GERALD

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut
    Bonjour,

    je viens de tester le code, il y a un message d'erreur dans la fonction
    sur cette ligne, utilisation incorrecte de Me.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each ctl In Me.Section(acDetail).Controls
    Cordialement

    GERALD

  5. #5
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 671
    Points : 2 491
    Points
    2 491
    Par défaut
    Je suppose que tu as déplacé la fonction vers un module séparé, auquel cas le formulaire devient inconnu.
    Il vaut mieux la laisser tout à la fin des procédures du formulaire. Sinon ta fonction devra être changée pour inclure le nom du formulaire concerné; c'est faisable mais c'est un peu plus compliqué à écrire.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut
    Bonjour,

    oui effectivement j'ai collé la fonction dans un module séparé. Je recommence

    merci

    GERALD

  7. #7
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2019
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2019
    Messages : 93
    Points : 70
    Points
    70
    Par défaut Jauge - amélioration
    Bonjour,

    toujours dans l'optique confinement, je viens de passer un peu de temps sur le programme JAUGE
    chouette travail, je ne crois pas avoir le courage de faire cela du moins pour le graphique.
    je me suis permis quelques modifications sur le formulaire afin de gagner de la place pour l'affichage de la table (nb: on pourrait aussi glisser la table sur la gauche ou la droite du formulaire plutôt qu'en-dessous),
    essentiellement un déplacement des boutons
    une correction de position de la jauge 100 %

    pour le code par contre, je me suis permis un peu plus de modifications
    - pilotage des boutons de commandes selon la position du record (premier - avant - suivant - dernier) ils sont d'office enabled ou disabled selon le cas (voir procédure current(), le système gère aussi le cas d'une table vide
    - simplification du code selon la proposition faite par notre ami Zekraoui
    - correction pour permettre l'affichage de l'indicateur à 0% (aig1) qui n'était pas accessible
    - mise du code pour tous les boutons y compris le recalcul et le load de la forme : donc mise en procédure de la vraie boucle d'affichage, chaque bouton n'ayant plus que l'essentiel (déplacement et erreur)

    merci de ton travail, c'était chouette de voir cela (et utile)

    pour la bonne forme je joins le fichier adapté.
    bonne fin de confinement.

    Guy.
    Fichiers attachés Fichiers attachés

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Controleur de gestion
    Inscrit en
    Octobre 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Controleur de gestion
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2014
    Messages : 82
    Points : 39
    Points
    39
    Par défaut Jauge aiguille VBA
    Bonjour,

    merci pour les modifications effectuées, très pertinent !

    GERALD

Discussions similaires

  1. Jauge à aiguille - Utilisation des Shapes
    Par fred65200 dans le forum Contribuez
    Réponses: 7
    Dernier message: 11/03/2014, 19h33
  2. Réponses: 0
    Dernier message: 10/01/2012, 13h09
  3. Problème VBA d'une jauge verticale
    Par nichboul dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 13/05/2008, 16h04
  4. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

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