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 :

imposer de remplir une cellule avec "001" au lieu de 1 [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Par défaut imposer de remplir une cellule avec "001" au lieu de 1
    Bonjour,

    Dans le cadre d'une préparation importation, je dois récuperer dans un classeur 1 un champ numérique et le convertir dans mon classeur B en champ texte
    Il s'agit dans le classeur A d'un nombre compris entre 1 et 999 et dans le classeur B, il doit abolument se présenter sous une forme a 3 chiffres (001 au lieu de 1)

    Pour le moment j'ai ca en code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If Workbooks(classeursup).Sheets(j).Cells(lgn, col) < 10 Then
        Workbooks(classeuract).Sheets(1).Cells(k, 9) = "00" & CStr(Workbooks(classeursup).Sheets(j).Cells(lgn, col))
    Else
        If Workbooks(classeursup).Sheets(j).Cells(lgn, col) < 100 Then
            Workbooks(classeuract).Sheets(1).Cells(k, 9) = "0" & CStr(Workbooks(classeursup).Sheets(j).Cells(lgn, col))
        Else
            Workbooks(classeuract).Sheets(1).Cells(k, 9) = Workbooks(classeursup).Sheets(j).Cells(lgn, col)
        End If
    End If
    Le test pour savoir si j'ajoute un 0, deux 0 ou aucun est bon.
    les variables sont bonnes aussi

    Le probleme est la partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = "00" & CStr(Workbooks(classeursup).Sheets(j).Cells(lgn, col))
    je pensais que CStr convertissait en chaine de caractere, mais apparement, quand au moment de mettre dans la cellule, il constate que je veux lui faire inscrire "004", il se dit "oh mais c'est un nombre ca, écrivons plutot un joli 4"

    Comment est-ce que je peux faire pour le convaincre de ne pas me convertir ma chaine de caractere en nombre?

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,


    Pour que ce soit considéré comme du text tu peux rajouter un '


    Pour un format personnalisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.NumberFormat = "#000"

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Par défaut
    ah, pas bete le coup du '
    Ca résoud mon probleme pour le .xlsm

    le format d'affichage de nombre ne suffit pas, le programme qui va importer les données depuis le fichier excel a besoin d'importer un champ texte de longueur 3
    Donc il faut que le contenu de la cellule soit vraiment a 3 chiffres, pas juste qu'elle s'affiche comme ca

    Merci beaucoup

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

Discussions similaires

  1. [XL-2010] Remplir une cellule automatiquement avec fonction SI
    Par nadyves dans le forum Conception
    Réponses: 3
    Dernier message: 19/12/2013, 09h00
  2. Remplir une ComboBox avec une plage de cellule
    Par zazaraignée dans le forum Contribuez
    Réponses: 2
    Dernier message: 02/03/2012, 19h07
  3. Remplir une cellule Excel avec une condition sous vb
    Par enibris dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/01/2008, 14h47

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