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 :

Nombre en caractères [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
    retraité Informatique
    Inscrit en
    Novembre 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : retraité Informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 46
    Par défaut Nombre en caractères
    Bonjour,

    La question paraît pourtant simple mais je ne m'en sort pas.

    j'ai un tableau xl2003 avec une colonne A de nombres de 4 chiffres sans déc.
    Je voudrais recopier cette colonne en B mais au format texte... en mettant des '0' devant les nombres de moins de 4 caractères.

    Est-ce possible par macro ?

    MERCI d'avance pour votre aide .

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    En B1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NBCAR(A1)=1;"000" & TEXTE(A1;0);SI(NBCAR(A1)=2;"00" & TEXTE(A1;0);SI(NBCAR(A1)=3;"0" & TEXTE(A1;0);TEXTE(A1;0))))
    Puis tu traines

    Par macro:

    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
    Sub toto()
    Dim i as long
    with Sheets("Feuil1")'mets le nom de ta feuille
    For i = 1 to .range("A" & .rows.count).end(xlup).row 'je suppose qu'on commence à la première ligne
    Select case len(.range("A" & i))
    Case 1
    .range("B" & i)="000" & cstr(.range("A" & i))
    Case 2
    .range("B" & i)="00" & cstr(.range("A" & i))
    Case 3
    .range("B" & i)="0" & cstr(.range("A" & i))
    Case 4
    .range("B" & i)= cstr(.range("A" & i))
    end select
    next i
    end with
    end sub

  3. #3
    Membre averti
    Homme Profil pro
    retraité Informatique
    Inscrit en
    Novembre 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : retraité Informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 46
    Par défaut
    SUPER !

    MERCI beaucoup c'est parfait.

    Bonne journée

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Ça pourrait être une formule comme celle-ci
    ou dans une boucle comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim I As Long, nbLignes As Long
     
    nbLignes = Cells(Rows.Count, "A").End(xlUp).Row
    Columns("A").NumberFormat = "@"
     
    For I = 2 To nbLignes
        Range("A" & I) = Format(Range("A" & I), "0000")
    Next

  5. #5
    Membre averti
    Homme Profil pro
    retraité Informatique
    Inscrit en
    Novembre 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : retraité Informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 46
    Par défaut RESOLU
    MERCI à vous aussi.

    Je vais tester et clore l'appel.

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

Discussions similaires

  1. [JTextArea] limiter le nombre de caractères
    Par spoutyoyo dans le forum Composants
    Réponses: 5
    Dernier message: 14/09/2007, 15h45
  2. Réponses: 7
    Dernier message: 16/11/2004, 15h45
  3. Réponses: 2
    Dernier message: 21/09/2004, 19h01
  4. [JTextField] Limiter le nombre de caractères
    Par thomas_strass dans le forum Composants
    Réponses: 2
    Dernier message: 08/09/2004, 14h06
  5. nombre de caractère retourné...
    Par sonialem2000 dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/08/2004, 04h06

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