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 :

Conserver le format d'une chaîne de caractères [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    63
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 63
    Points : 57
    Points
    57
    Par défaut Conserver le format d'une chaîne de caractères
    Bonsoir,

    Je fais une macro excel qui va chercher des données dans un tableau puis créée un fichier html/css pour les mettre en forme.
    Le programme va chercher les données par une boucle. Les coordonnées sont déterminées par les variables borneinf et nummission.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    'collecte des données
    Numbateau = Cells(borneinf + nummission, 2)
    Origine = Cells(borneinf + nummission, 3)
    Destination = Cells(borneinf + nummission, 5)
    'formatage
    Format(Numbateau, "@")
    Format(Origine, "@")
    Format(Destination, "@")
    Comme les données apparaissaient sous forme de nombre décimal avec un nombre de chiffres improbable, j'ai essayé de rajouter le formatage ci-dessus.
    Ce qui est surprenant, c'est que pour la variable origine, ça marche. pour les autres, j'obtiens "faux" ou "false" en lieu et place de la variable.

    J'ai essayé de modifier le format des cellules, mais rien n'y fait. Il me semble aussi que j'avais essayé de rajouter une apostrophe devant la chaîne et que ça n'avait pas marcher, mais je pourrai réessayer.

    Quelqu'un aurait-il la solution ?

    Bonne soirée

  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 535
    Points
    5 535
    Par défaut
    Bonjour,

    et tu as bien sûr pensé à contrôler le contenu de numbateau (par exemple), lorsque False est retourné ?

    Si non : fais-le donc ...

    Car (par exemple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Format(False, "@")
    retourne "False" ...

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par Z20500
    Ce qui est surprenant, c'est que pour la variable origine, ça marche.
    Je ne sais pas dans quelle version tu es mais pour celles que je connais, elles ne connaissent pas Format(Variable, "@")
    Alors, qu'entends-tu par là ?

    S'il s'agit de formater les données placées dans une cellule, teste ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
    Dim Variable As Double
        Variable = 0.45681325678
        Range("B1") = Variable
        Range("B1").NumberFormat = "@"
    End Sub
    Tu peux aussi formater toute la colonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Columns("B").NumberFormat = "@"
    Bonne journée

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 48
    Points : 59
    Points
    59
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'collecte des données
    Numbateau = Cells(borneinf + nummission, 2)
    Origine = Cells(borneinf + nummission, 3)
    Destination = Cells(borneinf + nummission, 5)
    'formatage
    Si tu veux conserver le nombre entier, ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormatNumbateau=CSTR(Numbateau) & "@")
    Si tu veux conserver la partie entière, ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormatNumbateau=CSTR(INT(Numbateau)) & "@")

  5. #5
    Membre du Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    63
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 63
    Points : 57
    Points
    57
    Par défaut
    Bonsoir,

    Merci pour vos réponses. Je vais essayer ce que vous proposez.

    Les variables qui me posent problème sont déclarées en tant que string. J'avais essayé de les déclarer comme variant mais cela n'avait rien changé.

    Bonne nuit

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 48
    Points : 59
    Points
    59
    Par défaut
    Coucou,
    Precision : parenthese fin de ligne à virer.

  7. #7
    Membre du Club
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    63
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 63
    Points : 57
    Points
    57
    Par défaut
    Bonjour,

    merci à tous pour vos réponses. Finalement, le problème semble avoir été résolu en rajoutant .Value à la fin de chaque référence
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Destination = Cells(borneinf + nummission, 5).Value
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Destination = Cells(borneinf + nummission, 5)

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Créer une chaîne de caractères formatée
    Par gege2061 dans le forum Télécharger
    Réponses: 0
    Dernier message: 01/12/2010, 10h16
  3. Réponses: 12
    Dernier message: 08/08/2008, 11h03
  4. Formater une chaîne de caractéres
    Par kgadhi dans le forum Langage
    Réponses: 9
    Dernier message: 19/06/2006, 12h09
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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