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 :

Ajout d'un zéro [XL-2013]


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é
    Inscrit en
    Février 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2017
    Messages : 10
    Par défaut Ajout d'un zéro
    Bonjour,
    J'aimerais ajouter un 0 devant les chiffres 0 à 9 dans les colonnes A à B, voir fichier Excel avec une petite Macro.
    Pouvez vous m'aider , me corriger et m'expliquer .
    Merci d'avance pour votre aide.
    Cdlt.
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Nul besoin de classeur pour répondre. La publication du code suffit amplement avec éventuellement l'illustration partielle des données
    Il existe une solution sans VBA en allant dans le format personnalisé et écrire "00" mais la valeur contenue dans la cellule restera celle encodée.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2017
    Messages : 10
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Nul besoin de classeur pour répondre. La publication du code suffit amplement avec éventuellement l'illustration partielle des données
    Il existe une solution sans VBA en allant dans le format personnalisé et écrire "00" mais la valeur contenue dans la cellule restera celle encodée.
    Bonjour monsieur Tulliez,

    Considérant les chiffres 0 à 9 , comme texte , l'ecriture "00" dans le format personnalisé fonctionne seulement quand j'écris ces chiffres dans la cellule.
    Désolé, j'ai une liste existante de chiffres 0 à 9 en format texte que j'aimerai ajouter le zéro avant.Merci d'avance pour une explication.Cdlt

  4. #4
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Une fonction peut-être?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function DeuxChiffres(strNombre As String) As String
        DeuxChiffres = Right("00" & strNombre, 2)
    End Function
    A appeler comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim strResult As String
    strResult = DeuxChiffres(Range("A1").Value)
    'ou :
    strResult = DeuxChiffres("12")
    'ou :
    strResult = DeuxChiffres("9")

  5. #5
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2017
    Messages : 10
    Par défaut
    Bonjour monsieur Pijaku,

    Etant novice en VBA, dites moi comment dois je transcrire vos codes après avoir ouvert Microsoft Visual pour applications [Module1].
    Votre aide me sera d'un grand secours pour ajouter un zéro devant des chiffres dans une colonne.
    Cordialement

  6. #6
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    1- la méthode décrite par Philippe Tulliez reste la meilleure...

    2- Voici un exemple de boucle sur les cellules non vides de la colonne D (à copier/coller dans Module1) (pour le lancer : Alt+F8...)
    Adapter' le nom de la feuille concernée et la lettre de la colonne
    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
    Sub BoucleColonneD()
    Dim i As Long, DL As Long
        With Sheets("Feuil1") '******************* A ADAPTER nom de la feuille
            DL = derlig_reelle(.Columns(4)) '******************* A ADAPTER Columns(4) = colonne D
            For i = 2 To DL '******************* A ADAPTER commence en D2 et fini en Dxxxxx
                .Range("D" & i).Value = DeuxChiffres( .Range("D" & i).Value) '******************* A ADAPTER D = colonne D
            Next
        End With
    End Sub
    Private Function DeuxChiffres(strNombre As String) As String
        DeuxChiffres = Right("00" & strNombre, 2)
    End Function
    Private Function derlig_reelle(Plage As Range) As Long
       If WorksheetFunction.CountA(Plage) = 0 Then derlig_reelle = Plage.Cells(1, 1).Row: Exit Function
       derlig_reelle = Plage.Find("*", , , , , xlPrevious).Row
    End Function
    Précision, ce code n'est pas le meilleur, le mieux optimisé, le plus rapide, mais il va fonctionner et il est relativement facile à comprendre.

  7. #7
    Expert éminent 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
    Par défaut
    Citation Envoyé par Zapata91 Voir le message
    Considérant les chiffres 0 à 9 , comme texte , l'ecriture "00" dans le format personnalisé fonctionne seulement quand j'écris ces chiffres dans la cellule.
    En supposant que tes données sont en colonne A et que la colonne B est vide.
    Tu mets en B1 la formule ="0"&A1.
    Tu copies B1 vers le bas autant que nécessaire.
    Tu sélectionnes la colonne B > Ctrl+C
    Tu sélectionnes la colonne A > Clic droit > Coller valeur
    Tu supprimes la colonne B

    Pas besoin d'une macro pour remplacer une opération qui dure 30 s.

  8. #8
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2017
    Messages : 10
    Par défaut
    Citation Envoyé par pijaku Voir le message
    Bonjour monsieur Pijaku,

    Merci bcp, je vais apprendre et essayer de comprendre chaque ligne de Code de ce programme.
    Je ferme le dossier le considérant comme Résolu.
    Cordialement.

    Citation Envoyé par Menhir Voir le message
    Bonjour monsieur Menhir,
    Merci de votre réponse, le vais le tester sur mes colonnes de mon tableau .
    Cordialement,

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

Discussions similaires

  1. [9.1] Ajout d'un zéro à droite des décimales
    Par jeanphi45 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 22/01/2014, 09h45
  2. [MySQL] Boucle PHP avec Mysql - ajout de zéro manquant
    Par zhora dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/01/2009, 14h50
  3. Réponses: 4
    Dernier message: 05/03/2008, 13h42
  4. VBA excel: Ajouter des zéros après une virgule
    Par kimai81 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 17/02/2008, 21h54
  5. Ajouter un zéro devant un nombre
    Par solorac dans le forum Excel
    Réponses: 1
    Dernier message: 07/06/2007, 11h15

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