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 :

Insérer un séprateur de milliers et une somme [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2013
    Messages : 297
    Points : 74
    Points
    74
    Par défaut Insérer un séprateur de milliers et une somme
    Bonjour la communauté,

    je me tourne vers vous pour vous solliciter au niveau de deux points :

    1 - Comment mettre un séparateur de milliers dans un code VBA svp.
    Je sais que le code doit être le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(val,"0.00;-#,##0")
    Mais je n'arrive pas à l'incorporer à mon code.

    2 - Comment indiquer le montant total d'épargne depuis le code VBA,
    c'est-à-dire au lieu d'avoir dans la zone de texte " Le solde des différentes épargnes actuellement est de :" obtenir "Le solde de l'épargne actuelle est de (Somme des épargens) € :".
    J'ai pensé dans un premier temps à faire une somme totale dans ma requête mais je n'ai pas su la réaliser, et ensuite me servir de la colonne de la requête pour l'incorporer.

    Ci-joint le rendu de mon codage :
    Nom : Capture.PNG
Affichages : 404
Taille : 5,1 Ko

    Mon code est le suivant :
    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
    Public Sub InfosTxt(TypeAffich As Integer)
     
        Dim oDb As DAO.Database
        Dim oRst As DAO.Recordset
        Dim StrNmEpar As String     ' variable nom épargne.
        Dim IntMtEpar As Integer    ' variable montant épargne.
        Dim StrSynt As String      ' variable résultat obtenu.
     
        Set oDb = CurrentDb
        Set oRst = oDb.OpenRecordset("MtEparSup0", dbOpenSnapshot) 'Appel de la réquete
     
     
        StrNmEpar = Nz(oRst.Fields(0), "") 'Attribue à la variable le résultat de la colonne 1 de la requête
        IntMtEpar = Nz(oRst.Fields(1), 0)  'Attribue à la variable le résultat de la colonne 2 de la requête
     
     
        Select Case StrNmEpar
            Case Is = ""   'S'il n'y a pas d'enregistrement
               StrSynt = "Aucune épargne actuellement."
     
            Case Else
               'Crée une boucle qui va déterminer les résultats sous la forme :
               '  - Nomdel'Epargne solde actuel de MontantEpargne (+ retour à la ligne pour résultat suivant).
              StrSynt = ""
     
              While Not oRst.EOF
                     StrSynt = StrSynt & "  -" & oRst.Fields(0) & " solde actuel de " & oRst.Fields(1) & " €. " & vbCrLf
                     oRst.MoveNext
              Wend
     
        End Select
     
     
        'Comme Source de la Zone de Texte, mise en place d'un titre + le résultat de la boucle.
        Select Case TypeAffich
            Case Is = -1    ''TypeAffich :  -1 Pour Zone de texte
               Form_Menu.TxtEpargne.ControlSource = _
               "=" & """ Le solde des différentes épargnes actuellement est de :" & vbCrLf & StrSynt & """"
        End Select
     
        'Fermetures des connexions
        oRst.Close
        oDb.Close
        Set oDb = Nothing
        Set oRst = Nothing
     
     
    End Sub
    Je remercie les internautes qui me vont m'aider dans ces petits points.

    Bonne journée à vous,

    Bien cordialement,
    Benjamin.

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonsoir,
    Pour le séparateur de milliers : tu peux utiliser le format "Standard" (ou "Currency" mais dans ce cas il faut enlever le signe € dans ta variable)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StrSynt = StrSynt & "  -" & oRst.Fields(0) & " solde actuel de " & format(oRst.Fields(1),"Standard") & " €. " & vbCrLf
    pour le montant total il faut faire un cumul de touts les montants dans une variable de type Currency (et pas Integer qui ignore les décimales et est limité à 32767) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        Dim CurMtEpar As Currency    ' Montant total de l'épargne.
    .... 
              While Not oRst.EOF
                     CurMtEpar = CurMtEpar + oRst.Fields(1) 
                     oRst.MoveNext
              Wend
     ...
                Form_Menu.TxtEpargne.ControlSource = "=" & """ Le solde des différentes épargnes actuellement est de :" & vbCrLf & format(CurMtEpar,"Currency") & """"
     ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2013
    Messages : 297
    Points : 74
    Points
    74
    Par défaut
    Bonjour tee_grandbois,

    je te remercie pour tes explications. Le tout fonctionne correctement !

    J'aurais une petite question, est-il d'insérer de la mise en forme c'est à dire mettre certaines variables en couleurs ou en gras par exemple, depuis un code VBA ?

    Encore merci pour les explications.

    Bien cordialement,
    Benjamin.

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    est-il d'insérer de la mise en forme c'est à dire mettre certaines variables en couleurs ou en gras par exemple, depuis un code VBA ?
    non, pas possible à ma connaissance.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2013
    Messages : 297
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    non, pas possible
    Ok je te remercie pour la réponse.

    Grâce à toi, j'ai résolu mon problème.

    Bonne soirée à toi.

    Bien cordialement,
    Benjamin.

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

Discussions similaires

  1. [XL-2013] insérer une recherche dans une somme matricielle
    Par Emman dans le forum Excel
    Réponses: 13
    Dernier message: 02/06/2014, 13h31
  2. Insérer une somme dans une colonne
    Par david71 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/03/2008, 10h52
  3. [CR] limiter une somme
    Par kamga dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 20/09/2005, 21h41
  4. faire une somme dans un état
    Par PAINCO dans le forum Access
    Réponses: 1
    Dernier message: 23/06/2005, 19h41
  5. [CR 8.5] Calculer la somme d'une somme
    Par Frederic Vincent dans le forum Formules
    Réponses: 4
    Dernier message: 12/02/2004, 17h53

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