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.
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.
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 suret 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
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
Bonjour,
Une fonction peut-être?
A appeler comme ceci :
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
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")
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
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
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.
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
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.
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.
Bonjour monsieur Menhir,
Merci de votre réponse, le vais le tester sur mes colonnes de mon tableau .
Cordialement,
Partager