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 :

Déclaration de variable [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Artisan en retraite
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Artisan en retraite
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Par défaut Déclaration de variable
    Bonjour,

    J'ai toujours un souci avec mes décimales.
    J'ai un TextBox qui contient un chiffre avec une décimale, quand il s'insère dans la cellule appropriée (avec l'UserForm) il n'affiche pas la décimale.
    Je ne sais pas comment formater la variable :
    Quand je la formate avec As Variant, il insère la valeur comme du texte;
    Quand je la formate avec As Integer, il insère la valeur avec une décimale à valeur 0 .
    J'ai bien vu sur le site qu'il faut peut être utiliser "CDec" avec As Variant, mais je n'ai vu aucune explication sur le sujet...
    Merci pour votre aide.

    Cordialement
    Magnum812

  2. #2
    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
    Bonjour
    Un TextBox donne en sortie un texte, si tu affecte directement la valeur contenue dans un textbox (qui est du texte) vers une cellule excel, se dernier convertit ce texte en conséquence selon sa particularité.

    Pour pallier à ceci, il faut faire un petit traitement qui dépend aussi du séparateur décimal d'excel (pour le cas des nombres)

    Exemple (si on a la virgule comme séparateur décimal)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub CommandButton1_Click()
    Dim MaVal As Double
    Dim Contenu As String
     
    Contenu = TextBox1.Value                                             'On récupère la valeur texte du textbox
    Contenu = Replace(Contenu, ",", ".")                                 'on remplace la virgule par le point (pour vba le point est toujours le séparateur décimal)
    MaVal = Val(Contenu)                                                 'On convertit le texte en nombre (avec le point comme séparateur décimal)
    Range("A1").Value = MaVal                                            'On écrit notre valeur dans A1
     
    'Ce qui revient à ceci:
    Range("B1").Value = Val(Replace(TextBox1.Value, ",", "."))
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Artisan en retraite
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Artisan en retraite
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Par défaut
    Bonsoir,

    Merci à toi mercatog,
    Je vais essayer ça demain et je te dirais si ça fonctionne...

    Encore merci de m'avoir accordé de ton temps.

    Cordialement
    Magnum812

  4. #4
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Vois ceci : V-F. Écrire la valeur de notre textbox dans la feuille

    cordialement,

    Didier

  5. #5
    Membre averti
    Homme Profil pro
    Artisan en retraite
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Artisan en retraite
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Par défaut
    Bonjour,

    Un grand Merci à toi ormonth
    C'est exactement ce que je cherchais. Mon problème est résolu.
    Merci également à toi mercatog, ton explication m'a permis de comprendre un peu mieux le comportement d'un Texbox.

    Bonne journée à vous

    Cordialement
    Magnum812

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

Discussions similaires

  1. déclaration de variable public
    Par mathieu57 dans le forum MFC
    Réponses: 5
    Dernier message: 15/09/2005, 17h36
  2. [DB2] Ordre de déclaration des variables
    Par Fatah93 dans le forum DB2
    Réponses: 1
    Dernier message: 04/05/2005, 17h18
  3. déclaration de variables de 16, 32 et 128 bits
    Par samipate dans le forum C++
    Réponses: 10
    Dernier message: 30/12/2004, 22h33
  4. [FLASH MX2004] Déclaration de variables sous flash mx
    Par softyClochette dans le forum Flash
    Réponses: 4
    Dernier message: 29/11/2004, 16h11
  5. [debutant][Portée] Déclaration de variable .....
    Par Slein dans le forum Langage
    Réponses: 4
    Dernier message: 07/05/2004, 10h43

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