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 :

Supprimer les valeurs "0" et vides d'une variable numérique [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 74
    Points : 42
    Points
    42
    Par défaut Supprimer les valeurs "0" et vides d'une variable numérique
    Bonjour,

    Sauriez-vous comment puis-je coder en VBA afin de supprimer les "0" est les vides ou espaces qui sont contenus dans une variable numérique?

    J'ai une colonne avec plusieurs valeurs : 00215;05637;04422 ; 421 ;...etc.

    Malheureusement le nombre de caractères numériques n'est pas identique. Donc je ne peux pas utiliser les fonctions "gauche" ou "droite" car je risquerai de tronquer les données.

    Merci d'avance.

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    la fonction Replace peut être ? Regarde l'aide en ligne VBA et dis nous ce qu'il en est

  3. #3
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 661
    Points : 5 785
    Points
    5 785
    Par défaut
    Bonjour,
    Au contraire, je pense que tu peut utiliser les fonction gauche et droite.
    Avec une boucle while, tu peut tester si le premier caractère est 0 ou vide si oui le suprimer et recommencer si non passer à la valeur suivante.
    00215 deviendrait 0215 puis 215 puis on passe la case suivante.

    Petite question pour être sur d'avoir bien compris: 2015 reste 2015 ou devient 215?
    Si la réponse est 215, alors comme le suggère mon VDD, la fonction replace est parfaite.
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    que signifie le point virgule Csv?

  5. #5
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 74
    Points : 42
    Points
    42
    Par défaut
    Bonjour,

    halaster08, le 2015 reste bien en 2015. Je vais essayer la boucle avec les fonctions gauches et droites alors.


    rdurupt, les ";" c'est juste pour présenter un exemple et différencier les valeurs qui peuvent être présentes dans les cellules mais il n'y a pas de ";" dans mon tableau.

    Exemple pour ma valeur qui est "0215 " j'ai donc un 0 et deux caractères vides

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    dim cpt as integer ' mon compteur
    dim u as integer 'mon chiffre à tronquer
     
    u = Left(.Range("M" & cpt + 3), 7)
     
    do while Left(u, 1) = 0 and Right(u, 1) = ""
    ' je ne connais pas l'intstruction pour supprimer une valeur d'une variable 
    loop

  6. #6
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Nb=val("0000000000000000000000000000 0000000000000215 . 0000000000000000000000")

  7. #7
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 74
    Points : 42
    Points
    42
    Par défaut
    Bonjour rdurupt,

    je n'ai pas compris ton code

    sinon j'ai trouver la fonction "Application.WorksheetFunction.Trim("ma variable")" pour supprimer mes espaces. Je n'ai pas encore testé

  8. #8
    Invité
    Invité(e)
    Par défaut
    tu remplace tout ton bazar par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    val( .Range("M" & cpt + 3))

  9. #9
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 74
    Points : 42
    Points
    42
    Par défaut
    Génial !! merci rdurupt

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

Discussions similaires

  1. [XL-2007] Supprimer les valeurs vides de ma liste déroulante
    Par Nanais19 dans le forum Excel
    Réponses: 3
    Dernier message: 06/10/2011, 13h26
  2. Réponses: 7
    Dernier message: 02/06/2009, 09h32
  3. Réponses: 6
    Dernier message: 23/03/2009, 15h40
  4. [VBA]Supprimer les Pages vides d'un document
    Par Sami-33 dans le forum Word
    Réponses: 1
    Dernier message: 25/07/2007, 20h54
  5. [RegEx] Supprimer les valeurs répétées d'une chaine
    Par Eliness dans le forum Langage
    Réponses: 1
    Dernier message: 17/12/2006, 19h55

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