Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

ajouter des "0" devant des chiffres

kastor

XLDnaute Junior
Bonjour,

J'ai des codes entre 1 et 9999. Mon problème est que je voudrais uniformiser mes codes en code à 4 chiffres.

Ex :

9999 > 9999
1 > 0001
105 > 0105

quelle macro puis-je utiliser pour ajouter les "0" manquant ?

Merci d'avance.
 

ROGER2327

XLDnaute Barbatruc
Re : ajouter des "0" devant des chiffres

Bonjour à tous.


c'est pas faux. merci pierrot !
trop de macros tuent les macros !
P'têt' ben qu'oui, p'têt' ben qu'non.
La solution du formatage 0000 ne modifie que l'affichage de valeur, pas la valeur elle-même. Ce peut être quelquefois gênant. Par exemple : si on met 0 en A1 formaté 0000, on voit effectivement 0000.
Si B1 contient
Code:
="Code "&A1
on voit Code 0.
On aimerait peut-être voir Code 0000.
En ce cas, la "macro" n'est pas superflue. Cela, par exemple :​
VB:
Sub ZéroDevant()
Dim l&, n&, Cel As Range
    l = Val(InputBox("Longueur du code ?", , 4))
    If l > 1 Then
        For Each Cel In Selection.Cells
            With Cel
                If Not IsEmpty(.Value) Then
                    If IsNumeric(.Value) Then
                        If Len(CStr(.Value)) < l Then
                            .Value = "'" & Right$(String(l, "0") & CStr(.Value), l)
                            n = n + 1
                        ElseIf Len(CStr(.Value)) = l Then
                            .Value = "'" & CStr(.Value)
                        End If
                    End If
                End If
            End With
        Next
    End If
    MsgBox IIf(n, n, "Aucun") & " code" & IIf(n > 1, "s", "") & " modifié" & IIf(n > 1, "s", "") & "."
End Sub
Sélectionner les cellules à traiter et exécuter la procédure (Ctrl m dans le classeur joint).



ROGER2327
#6758


Mardi 10 Phalle 140 (Sainte Nitouche, orante - fête Suprême Quarte)
3 Fructidor An CCXXI, 4,0224h - lycoperdon
2013-W34-2T09:39:13Z
 

Pièces jointes

  • XLD_209788_ZéroDevant.xlsm
    16.9 KB · Affichages: 49

kastor

XLDnaute Junior
Re : ajouter des "0" devant des chiffres

Bon, me voilà confronté à un nouveau problème....

comment faire pour conserver les 4 caractères en les fusionnant ?


voici le code que j'utilise

Range("AH12").Value= "=RC[-21]&R[-1]C[-21]"

avec pour

"=RC[-21] (la valeur 0001)
et
R[-1]C[-21]" (la valeur 0002)

mais avec ce code, j'obtiens 12 au lieu d'avoir 00010002.

ça doit être tout simple, mais je sèche....
 
Dernière édition:

Discussions similaires

Réponses
18
Affichages
651
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…