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 les 0 en début de valeur - Données provenant d'un csv


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2021
    Messages : 6
    Par défaut Conserver les 0 en début de valeur - Données provenant d'un csv
    Bonjour à tous,

    Besoin d'un petit coup de main sur un problème qui me semble basique et pourtant je bute, je bute...

    J'ai un fichier csv qui comporte une colonne dont les valeurs contenues sont 000.
    Ce fichier doit être mis en forme et enregistré en xls par une macro et les 3 zéros doivent obligatoirement être conservés dans des cellules au format "Texte".

    Lorsque le csv est ouvert dans Excel, il s'affiche dans la colonne 0 au lieu de 000.

    La macro modifie la propriété en Selection.NumberFormat = "000", je retrouve bien un affichage avec mes 3 zéros mais Si je demande quel est le format des cellules de la colonne modifiée, Excel indique un format "Spécial" avec un type reprenant des caractères chinois (Je ne sais pas d'où il sort ça) !?!!?

    Si je modifie de nouveau le format par Selection.NumberFormat = "@", Excel supprime 2 zéros et j'ai à nouveau 0 au lieu de 000.

    Comment pourrais-je faire pour conserver mes 3 zéros et être en format "Texte".

    J'espère avoir été assez clair, merci d'avance pour votre aide précieuse.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2021
    Messages : 6
    Par défaut Solution
    Solution trouvée juste après avoir fait cette demande :



    Sub Reformat1()
    Dim xCell As Range, Plage As Range, x As String, z As String, y As Byte
    Set Plage = Range("D1" & Cells(Rows.Count, "d").End(xlUp).Row)
    Plage.NumberFormat = "@"
    For Each xCell In Plage
    If Len(xCell.Value) < 14 Then
    x = xCell.Value
    y = 14 - Len(xCell.Value)
    z = Application.WorksheetFunction.Rept("0", y)
    xCell.Value = z & x
    End If
    Next xCell
    End Sub

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 317
    Par défaut
    Bonjour,
    En utilisant Power Query pour importer le fichier csv (au lieu de l'ouvrir via VBA), tu pourrais conserver ce format (et effectuer maintes autres opérations) lors de cet import.
    Bonne apm

  4. #4
    Membre Expert
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 287
    Par défaut
    Bonjour

    Dans les options vous pouvez désactiver les transformations automatiques dont la suppression des zéros non significatifs

    Nom : Capture d'écran 2025-07-03 140902.png
Affichages : 50
Taille : 54,5 Ko
    Stéphane

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2021
    Messages : 6
    Par défaut
    Merci pour cette réponse, mais je n'ai malheureusement pas ces options dans la version d'Excel que j'utilise

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Services de proximité

    Informations forums :
    Inscription : Mars 2021
    Messages : 6
    Par défaut
    Citation Envoyé par mapeh Voir le message
    Bonjour,
    En utilisant Power Query pour importer le fichier csv (au lieu de l'ouvrir via VBA), tu pourrais conserver ce format (et effectuer maintes autres opérations) lors de cet import.
    Bonne apm
    Je n'ai jamais utilisé Power Query, c'est l'occasion d'y jeter un oeil. Merci pour ce conseil.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/02/2008, 14h32
  2. Retour au formulaire en conservant les valeurs
    Par Jiraiya42 dans le forum Langage
    Réponses: 4
    Dernier message: 06/07/2007, 14h07
  3. Comment conserver les valeurs de $_POST
    Par foxdream94 dans le forum Langage
    Réponses: 2
    Dernier message: 25/05/2007, 12h05
  4. conserver les valeurs entrées dans un formulaire
    Par mitmit dans le forum Langage
    Réponses: 5
    Dernier message: 03/05/2007, 10h09
  5. [MVC] Conserver les valeurs d'éléments Set dans un POJO
    Par kobee dans le forum Spring Web
    Réponses: 1
    Dernier message: 10/09/2006, 19h45

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