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

Macros et VBA Excel Discussion :

Format monétaire pour compta [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut Format monétaire pour compta
    Bonsoir a tous et toutes, Forum bonsoir

    Juste un petit renseignement svp

    Je souhaiterai savoir si j'ai bien coder les paramètres suivants pour obtenir

    les formats monétaires dans ma compta, voir svp ci-dessous:

    10 541,03 €
    1 541,03 €
    541,03 €
    41,03 €
    1,03 €

    Pour cela j'ai mis dans un module et dans UserForm_Initialize Merci a vous pour votre aide, bonne soirée a tous.

    Cordialement Ray

  2. #2
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Salut

    Dans un premier temps j'ai pensé que ta méthode était bonne auquel il suffirait d'ajouter la fonction "Format" mais cela fait un string.
    Donc un faut faire autre chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.NumberFormat = "$#,##0.00_);($#,##0.00)"
    Tu mets ça ds un module

    tu mets un chiffre ds une cellule tu lances la macro et ça marche
    Après tu adaptes tu remplaces "Selection" par ta sélection, ou tu fait un Range(...).select avant

    Tu dis

    @+

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Bonjour a tous, forum bonjour

    salut Igloobel

    Merci pour ta réponse

    j'ai fait des essais mais ça ne fonctionne pas comme voulu

    j'utilise 5 textboxs dans un usf et je dois remplir des labels en format monetaire
    via les textboxs plus la feuil excel

    Donc, je souhaiterai svp déclarer convenablement le format en Public

    declarer en "String" n'a pas l'air d'etre bon enfin c'est mon avis

    Merci a toi et bonne journée

    Cdlt Ray

  4. #4
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    Bonjour eliot et tou le forum
    moi j'écris sur la feuil sans mettre de variable comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim lig As Integer
    with sheets("Feuil1")
    lig = .Range("B65536").End(xlUp)(2).Row
    .Cells(lig, "C") = Me.TextBox1
    .Cells(lig,"C").NumberFormat = "#,##0.00€"
    end with
    pour un label
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.label.caption= Me.textbox1.value
    a essayer

    Pascal

  5. #5
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Bonjour a tous

    Salut Grisan29

    Merci pour ta réponse et pour le code

    Je me demande si je ne vais pas finir par adopter ta méthode, j'ai lu beaucoup a propos du format monétaire avec les Textboxs et ce n'ai pas tout plaisir a coder.

    j'ai parcouru les tutos du site également et fait des essais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Mis dans un module Public Euro As String
     
    et dans UserForm_Initialize 
     
    Euro = "#,##0.00 €"

    Le but de déclarer une variable pour l'Euro me semblai plus souple a utilier et a écrire que de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .NumberFormat = "#,##0.00 €"
    Merci a toi une bonne journée

    Cdlt Ray

  6. #6
    Membre éclairé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Par défaut
    bonsoir Ray

    je ne connais pas la façon de procédé avec des variables pour la monnaie € et laisse la main a d'autres plus experimentés
    comme je l'ai mis dans le post précédent sur mon classeur cela fonctionne sauf que je n'ai pas essayer pour un label

    Pascal

  7. #7
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Salut grisan29

    je me débrouilles tant bien que mal

    je vais me dispenser de variables, ce n'ai pas grave

    Merci quand mème d'avoir lu mon post et le petit code fourni

    je te souhaite une bonne soirée et un bon W-end

    Cordialement raymond

  8. #8
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Je ne sais pas ce que tu veux faire, mais voici un exemple avec userform dans lequel on a TextBox1 et Label1

    A chaque changement dans TextBox1, le résultat formaté est reporté dans Label1 et dans A1 de Feuil1

    Code à mettre dans le module de l'userform
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Explicit
     
    Const Euro As String = "#,###.00 €"
     
    Private Sub TextBox1_Change()
     
    Me.Label1.Caption = Format(Me.TextBox1.Value, Euro)
     
    With Feuil1.Range("A1")
        .Value = Me.TextBox1.Value
        .NumberFormat = Euro
    End With
    End Sub
    Sinon, si en plus tu veux que la constante soit reconnue partout dans ton projet, tu dois placer la ligne de déclaration de la constante Euro dans un module standard comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Const Euro As String = "#,###.00 €"
    PS. Si le séparateur décimal est la virgule, remplace la ligne 10 du code par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Value = Replace(Me.TextBox1.Value, ",", ".")

  9. #9
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour mercatog

    Voici une variante s'adaptant aux paramètres régionaux.

    Pour le plaisir seulement. car je ne suis pas sûr que ce soit une bonne idée que les euros se transforment en d'autres monnaies.

    Cordialement

    Docmarti.


    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
    Option Explicit
     
    Dim Euro As String
    Const SymboleMonetaireRegional As String = "#,###.00 $"
     
    Private Sub UserForm_Initialize()
     
    With Feuil1.Range("A1")
         .Value = ""
         .NumberFormat = "General"
         .Value = 1
        .NumberFormat = SymboleMonetaireRegional
    End With
     
    Euro = "#,###.00 " & Split(Feuil1.Range("A1").Text, " ")(1)
     
    End Sub
     
     
    Private Sub TextBox1_Change()
     
    Me.Label1.Caption = Format(Replace(Me.TextBox1.Value, ".", Format(0, ".")), Euro)
     
    With Feuil1.Range("A2")
        .Value = Replace(Me.TextBox1.Value, Format(0, "."), ".")
     
        .NumberFormat = SymboleMonetaireRegional
    End With
     
     
    End Sub

  10. #10
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Bonsoir a tous, forum

    Bonsoir Docmarti, mercatog, Grisan29

    Je vous remercie pour tous les codes proposés, après bien pleins d'essais

    cela semble (enfin) fonctionner comme je le souhaitai et correctement.

    j'ai adapter les divers codes a mon programme et voila le boulot

    A vous Docmarti, mercatog, Grisan29, je vous souhaite une excellente et bonne

    soirée.

    Mes sincères remerciements pour votre savoir partagé et de l'aide apporter.

    Cordialement Raymond

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

Discussions similaires

  1. Masque de Saisie pour format monétaire
    Par amerex dans le forum IHM
    Réponses: 3
    Dernier message: 29/09/2008, 20h27
  2. quel type de champ pour un format monétaire
    Par tavarlindar dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/08/2008, 23h38
  3. formater un nombre en format "monétaire"
    Par jm6570 dans le forum Access
    Réponses: 2
    Dernier message: 14/09/2005, 10h06
  4. Réponses: 2
    Dernier message: 21/06/2005, 16h37
  5. Format monétaire dans un DBedit
    Par cdlr27 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/04/2004, 16h41

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