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 :

modification de format (numerique=>texte) et ajouté un 0 devant tout les numeros [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2009
    Messages : 408
    Points : 216
    Points
    216
    Par défaut modification de format (numerique=>texte) et ajouté un 0 devant tout les numeros
    bonsoir
    j'ai une colonne de plus de 1800 lignes qui comportent des nombres(354001, ou 12 ou 1354 etc..). Je voudrais que tous les nombres ne comportant pas au moins 6 chiffres prennent un ou plusieurs 0('000012 ou '003215 etc) devant en format texte.
    Si quelqu un de gentil peut m orienter!
    merci

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonsoir,

    En format "texte" ? ===>> String

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim toto As String
    toto = "1234"
    MsgBox Format(toto, "000000")

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2009
    Messages : 408
    Points : 216
    Points
    216
    Par défaut
    bonsoir voila j en suis la mais quand j applique ma macro tous les chiffres ce mettent en "faux00"
    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
    Sub testconcatener2()
    Dim code As String
     
    Columns("A:A").Select
    ' Mise au format texte de la cellule du code
    NumberFormat = "@"
    ' Définit le code en fonction de sa longueur
    Select Case Len(code)
    'code inferieur a 6 chiffres
      Case Is < 6
    Columns("A:A") = code & Right$("000000", 6 - Len(code))
      Case Else
     Columns("A:A") = Left$(code, 6)
    End Select
    End Sub
    merci

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonsoir,

    Citation Envoyé par dodo28 Voir le message
    bonsoir
    j'ai une colonne de plus de 1800 lignes qui comportent des nombres(354001, ou 12 ou 1354 etc..). Je voudrais que tous les nombres ne comportant pas au moins 6 chiffres prennent un ou plusieurs 0('000012 ou '003215 etc) devant en format texte.
    Si quelqu un de gentil peut m orienter!
    merci
    et :

    NumberFormat = "@"
    Il faudrait s'entendre !

    Ceci étant dit : NumberFormat (pour des nombres) admet la même syntaxe que Format ...
    Et si tu ouvrais ton aide en ligne sur NumberFormat, en laissant tes cellules au format numérique, au lieu de les passer en format texte (ton 1er message) ?
    Et si tu les passes en format texte, tu connais déjà la réponse !

    Mais un mélange des deux : non !

  5. #5
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Tu peux aussi éviter du code en utilsant la formule texte

    Ne pas oublier l'apostrophe avant les 0 pour éviter la convertion numérique automatique


    Ou si tu souhaites vraiment mettre du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B1").Value = Application.WorksheetFunction.Text(Range("A1").Value, "'000000")

  6. #6
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 133
    Points : 160
    Points
    160
    Par défaut Formule dans cellules
    Bonjour ,

    J ai testé cette fonctionnalité avec cette formule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NBCAR(A2)<=6;TEXTE(A2;"000000");A2)
    Evalue le nombre de caractere de la cellule si inferieur ou égale à 6 je la formate sinon tels quels


    Bon test

  7. #7
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2009
    Messages : 408
    Points : 216
    Points
    216
    Par défaut
    bravo, merci beaucoup

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

Discussions similaires

  1. ajouter un champ dans toutes les tables
    Par silene dans le forum Access
    Réponses: 2
    Dernier message: 26/06/2012, 16h33
  2. [1.x] ajoute une option sur tout les widgets du forumaire
    Par Ontolingua dans le forum Symfony
    Réponses: 6
    Dernier message: 22/10/2010, 15h23
  3. Réponses: 0
    Dernier message: 02/05/2010, 15h18
  4. ajouter un lien dans toutes les pages d'un site
    Par kaayna dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 17/03/2010, 17h30
  5. Réponses: 2
    Dernier message: 23/08/2007, 14h04

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