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 :

Conversion en nombre apres validation


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
    Technicien maintenance
    Inscrit en
    Mai 2016
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2016
    Messages : 70
    Par défaut Conversion en nombre apres validation
    Bonjour,
    J'ai un problème après validation avec un commandbutton : ma textbox "txtintervention" se rajoute dans la colonne A, mais me met en "nombre stocké sous forme de texte.

    J'aimerai, apres le bouton valider, que la conversion se fasse automatique en NOMBRE.

    j'ai recherché sur le forum, j'ai trouvé des codes avec CDbl mais impossible de l'adapter au fichier. Et j'avoue ne pas très comprendre !

    Le fait est que jai une procédure "Tri_interventions" du grand au plus petit, et quand certains nombre son stocké sous forme de texte, le tri ne se fait pas correctement...

    Merci par avance,

    Valentin

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Exemple de l'utilisation de la fonction CDbl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A13").Value = CDbl(TextBox1.Value)
    Attention que si le séparateur de décimale est un point ou contient du texte autre qu'un nombre convertible, cette syntaxe renverra une erreur.
    Il y a lieu de faire un test de validité lors de l'encodage du contrôle TextBox
    A lire le chapitre II-E. TextBox du tutoriel Utiliser les contrôles dans un UserForm, en VBA Excel
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2016
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2016
    Messages : 70
    Par défaut
    Alors, ça concerne une colonne complete en rows.count. mes nombres sont simples : 1,2 etc jusqu'a 124 pour l'instant. Par de virgule, pas de point.

    Mais j'aurai voulu savoir si je le place dans le commandbutton valider, a la fin de la procédure ?

  4. #4
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2016
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2016
    Messages : 70
    Par défaut
    Voici ce que j'ai essayer de faire dans ma procédure cmdValider_click() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     With ThisWorkbook.Worksheets("Maintenance")
       i = .Range("A1").CurrentRegion.Rows.Count + 1
     
       .Cells(i, 1) = CDbl(Maintenance.txtintervention)
    End With
    Donc pour forcer toute la colonne a convertir en nombre. Il n'y a pas d'erreur, en revanche, ça ne marche pas ! la nouvelle entrée reste en "Nombre sous format texte"

    Merci,

    Valentin

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    mes nombres sont simples : 1,2 etc jusqu'a 124 pour l'instant. Par de virgule, pas de point.
    Dans ce cas, ce n'est pas d'un CDbl dont tu as besoin mais d'un CInt.
    Regarde ces deux fonctions dans l'aide VBA d'Excel.

    Il n'y a pas d'erreur, en revanche, ça ne marche pas !
    Les deux parties de cette phrases se contredises l'une l'autre.

    Je pense qu'il y a une chose que tu n'as pas comprise : le premier argument de Cells ne donne pas le nombre de lignes à traité mais le numéro de la ligne à traiter.
    Donc mettre dans i un Rows.Count est un peu étrange.

    Mais comme je n'ai pas compris exactement ce que tu veux faire, difficile d'en dire plus.

  6. #6
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2016
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2016
    Messages : 70
    Par défaut
    Bonjour,

    Je recapitule : j'ai un bouton "nouveau" dans lequel je rentre des informations. Une fois ces infos rentré, je valide. Ça met les infos a la derniere ligne de mon tableau excel. Au moment de l'entrée de la ligne, je voudrai que dans la colonne 1, ce soit un nombre (du coup le 1,2, jusqu'a 124, en fait il s'incremente automatiquement, mais il se met en "nombre stocké sous format texte" et je voudrai qu'il soit convertie en format nombre). Et je ne sais pas quoi mettre pour la valeur de i, ni comment écrire le code...

    J'espere avoir été assez clair cette fois ci.

    Merci par avance,

    Valentin

Discussions similaires

  1. Fonction de conversion de nombre en lettres
    Par david_chardonnet dans le forum Langage
    Réponses: 21
    Dernier message: 08/12/2021, 17h51
  2. Réponses: 7
    Dernier message: 07/03/2006, 09h34
  3. [debutant] limiter nombre apres virgule
    Par tony_big_guy dans le forum Langage
    Réponses: 6
    Dernier message: 11/01/2006, 14h29
  4. [Math]Récupérer le premier nombre après la virgule
    Par am.adnane dans le forum Général Java
    Réponses: 4
    Dernier message: 01/12/2005, 14h05
  5. Réponses: 4
    Dernier message: 18/10/2005, 23h22

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