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 un nombre de caractères dans une variable VBA Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 70
    Points : 52
    Points
    52
    Par défaut Imposer un nombre de caractères dans une variable VBA Excel
    bonjour,

    de nouveau je crie "a l'aide".

    j'ai deux variables que j'assemble dans un Label : Label1.Caption = Var_AnneeMois & Var_NumClient
    cela, je sais faire.

    Mon problème :

    Var_NumClient est stocké sur une feuille dans une cellule au format spécial 000000
    cela me donne dans la cellule "000001" pour une entrée de "1"

    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    Var_NumClient = Worksheets("Clients").Range("A" & Rows.Count).End(xlUp).Value

    et c'est la que je butte.

    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    Var_NumClient   me donne la valeur "1"  au lieu de ce que je voudrais c'est a dire "000001"

    J'ai essayé différentes approches dont le Var_NumClient.FormatNumber = "000000",
    mais cela marche pas



    une piste me serait agréable

    merci

  2. #2
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 70
    Points : 52
    Points
    52
    Par défaut solution a imposer un nombre de caractère dans une variable VBA EXCEL
    bonjour,

    je viens de trouver la solution une petite révélation lol


    je déclare ma variable Dim intVar_NumClient As Integer,

    je déclare ma variable Dim Var_NumClient As String,

    ensuite intVar_NumClient = Worksheets("Clients").Range("A" & Rows.Count).End(xlUp).Value,

    et pour finir Var_NumClient = Format(intVar_NumClient, "000000").


    et la cela marche j'obtiens bien "201606000001".

  3. #3
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Il n'est pas nécessaire de passer par une variable intermédiaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label1.Caption = Format(Var_AnneeMois, "yyyymm") & Format(Var_NumClient, "000000")
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour,
    je lis :
    Var_NumClient est stocké sur une feuille dans une cellule au format spécial 000000
    Pourquoi reformater ce qui l'est déjà ?
    La propriété Text (pas Value, mais Text)de cette cellule retourne son contenu formaté, tel qu'affiché ...
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  5. #5
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juillet 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 70
    Points : 52
    Points
    52
    Par défaut merci pour vos réponses
    bonjour,

    comme vous vous en doutez je ne suis pas très doué en VBA

    Je vous remercie donc pour vos réponses

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

Discussions similaires

  1. Nombre de caractères dans une macro variable
    Par Mamouthy dans le forum Macro
    Réponses: 1
    Dernier message: 14/04/2013, 11h34
  2. Nombre de caractère dans une "variable as double"
    Par leblma dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 12/07/2011, 18h08
  3. Réponses: 9
    Dernier message: 21/06/2011, 15h32
  4. COmpter le nombre de caractére dans une variable
    Par oliv27400 dans le forum MATLAB
    Réponses: 2
    Dernier message: 10/06/2010, 15h17
  5. limite du nombre de caractères dans une requete
    Par pheno82 dans le forum Access
    Réponses: 3
    Dernier message: 01/06/2006, 22h12

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