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 :

Ecrire la valeur d'une textbox dans une cellule avec le format désiré


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Ecrire la valeur d'une textbox dans une cellule avec le format désiré
    Bonjour,

    Voici mon problème:
    j'ai crée une Userform permettant d'indiquer des caractéristiques d'un emprunt, comme le nom, le montant...

    J 'ai utilisé une zone de texte, pour indiquer le montant de l'emprunt dans la cellule I9, et avant j avais changé le format de cette dernière selon un format monétaire en EUR ou en USD ...

    Malheureusement, quand j appuis sur Ok, le format du montant est en texte, et je peux le mettre dans le format choisi préalablement seulement en double-cliquant sur le cellule I9 et en faisant entrer... Et là comme par magie çà marche...

    Vous savez comment éviter cette action manuelle ?
    cf le code 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
    14
    'Inscrire le nom de l'entreprise dans la cellule B3
    ActiveWorkbook.Sheets(Emprunt).Range("B3") = nomEntreprise
    'Inscrire le nom de l'emprunt dans la cellule H2
    ActiveWorkbook.Sheets(Emprunt).Range("H2") = Nomemprunt
     
    'Choisir la mise en forme (Eur ou USD) du Nominal
    If OptionButton_EUR = True Then
       ActiveWorkbook.Sheets(Emprunt).Cells(9, 9).NumberFormat = "#,##0 [$EUR]"
    ElseIf OptionButton_USD = True Then
       ActiveWorkbook.Sheets(Emprunt).Cells(9, 9).NumberFormat = "#,##0 [$USD]"
    End If
     
    'Inscrire le montant du nominal dans la cellule I9
    ActiveWorkbook.Sheets(Emprunt).Range("I9") = montantnominal

  2. #2
    Membre averti Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Points : 377
    Points
    377
    Par défaut
    cf le code de l'userform


    Peux tu mettre le code en entier, avec le nom de la fonction (qui dans un userform depend de l'action que tu effectue ... )

    J'ai pas bien compris, tu veux appliquer un format a ta textbox ou a des cellules d'une feuille ? Après quelle action ?
    Delphine35
    « N’attribuez jamais à la malveillance ce qui s’explique très bien par l’incompétence. » - Napoléon Bonaparte

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    voici le code dans sa globalité:

    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
    Private Sub CommandButton1_Click()
     
    'Inscrire le nom de l'entreprise dans la cellule B3
    ActiveWorkbook.Sheets(Emprunt).Range("B3") = nomEntreprise
    'Inscrire le nom de l'emprunt dans la cellule H2
    ActiveWorkbook.Sheets(Emprunt).Range("H2") = Nomemprunt
     
    'Choisir la mise en forme (Eur ou USD) du Nomina
    If OptionButton_EUR = True Then
       ActiveWorkbook.Sheets(Emprunt).Cells(9, 9).NumberFormat = "#,##0 [$EUR]"
    ElseIf OptionButton_USD = True Then
       ActiveWorkbook.Sheets(Emprunt).Cells(9, 9).NumberFormat = "#,##0 [$USD]"
    End If
     
    'Inscrire le montant du nominal dans la cellule I9
    ActiveWorkbook.Sheets(Emprunt).Range("I9") = montantnominal
     
     
    Empruntuserform.Hide
    End Sub

    Pour préciser ma question: Je souhaite insérer un nombre dans la cellule I9 selon le format choisit avant . Le problème c 'est que j'ai l'impression qu'en utilisant une zone de texte, le nombre est intégrer en format texte (un point d'exlamation sur la cellule m'informe d'ailleurs qu'il est sous format texte), et je souhaiterais pouvoir appliquer le format que j ai choisit avant.

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Bonsoir,

    Essaye avec un point dans le format:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Sheets(Emprunt).Cells(9, 9).NumberFormat = "#.##0 [$EUR]"
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Membre averti Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Points : 377
    Points
    377
    Par défaut
    Essaie de mettre ce qui suit avant le Hide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveWorkbook.RefreshAll
    ou

    Delphine35
    « N’attribuez jamais à la malveillance ce qui s’explique très bien par l’incompétence. » - Napoléon Bonaparte

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  2. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  3. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  4. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  5. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13

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