InsÉrer des zÉros manquants avant le chiffre

Je souhaite trouver un moyen pour insérer des zéros manquants à mes cellules (avant les chiffres)c'est à dire si ma cellule a un seul caractère il m'ajoute 3 zéros si 2 caractères 2 zéros si 3 caractères 1 zéro ,

NB/ chaque cellule ne doit pas depassée 4 caractères

PAR EXEMPLE

DANS LE CELLULE C2 J'AI 1 donc je voudrais avoir 0001

j'avais une macro qui tournait bien avant mais du jour au lendemain elle ne marche plus merci de m'aider svp

Sub insert()

''''''''''''Nouveau'''''''''

Sheets(2).Activate

nbLign = ActiveSheet.UsedRange.Rows.Count

Columns("C:C").Select

Selection.insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

For i = 2 To nbLign

''If IsNumeric(Cells(i, 2)) Then

Columns("C:C").Select

Selection.NumberFormat = "General"

Cells(i, 3).FormulaR1C1 = "=REPT(""0"",4-LEN(RC[-1]))&RC[-1]"

''End If

Next

Columns("C:C").Select

Selection.Copy

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Columns("d:d").Select

Application.CutCopyMode = False

Selection.Delete Shift:=xlToLeft

''''''''''''''''''''''''''''''''''''''''

End Sub

Salut Lamino,

Salut le Forum!

Pas besoin de VBA pour résoudre ton problème

Je souhaite trouver un moyen pour insérer des zéros manquants à mes cellules (avant les chiffres)c'est à dire si ma cellule a un seul caractère il m'ajoute 3 zéros si 2 caractères 2 zéros si 3 caractères 1 zéro ,

  • Tu sélectionne ta plage de cellule
  • Format
  • Personnalisée
  • Dans le champs Type tu entre "0000"

Et tes zéros se mettrons automatiquement pour obtenir 4 caractères :

capture

Concernant ta seconde demande [...]

NB/ chaque cellule ne doit pas depassée 4 caractères

[...], tu peut utiliser une "Validation des données" dans l'onglet "Données"

  • Tu sélectionne ta colonne
  • Validation des données
  • Autoriser : Personnalisé
  • Formule : "=NBCAR(C1)<=4"

Avec cette formule, il n'est plus possible d'avoir plus de 4 caractères par cellules

capture2

Restant à ta dispo!

Bonjour,

Pas besoin de macro

tu sélectionnes la colonne, format personnalisé et du mets 4 zéros

Bonjour,

Pour le principe, si besoin d'avoir des valeurs texte :

Sub insert()
Dim n As Long, i As Long
    With ActiveSheet
        n = .Cells(.Rows.Count, 1).End(xlUp).Row
        For i = 2 To n
            With .Cells(i, 3)
                .NumberFormat = "@"
                .Value = Format(i - 1, "0000")
            End With
        Next i
    End With
End Sub

Bonjour,

Pour le principe, si besoin d'avoir des valeurs texte :

Sub insert()
Dim n As Long, i As Long
    With ActiveSheet
        n = .Cells(.Rows.Count, 1).End(xlUp).Row
        For i = 2 To n
            With .Cells(i, 3)
                .NumberFormat = "@"
                .Value = Format(i - 1, "0000")
            End With
        Next i
    End With
End Sub

BONJOUR ERIC,

merci pour vos réponses je ne parle pas de format mais d'ajouter des zéros à mes valeurs qui peuvent être alphanumériqueS

pas de transformer mes valeurs en 0001 0002 0003 00004 car celle ci me les transformes

par exemple je peux avoir avoir ça

0A-----------------000A

023---------------0023

100---------------0100

5-------------------0005

merci pour ton aide

Salut Lamino,

Salut le Forum!

Pas besoin de VBA pour résoudre ton problème

Je souhaite trouver un moyen pour insérer des zéros manquants à mes cellules (avant les chiffres)c'est à dire si ma cellule a un seul caractère il m'ajoute 3 zéros si 2 caractères 2 zéros si 3 caractères 1 zéro ,

  • Tu sélectionne ta plage de cellule
  • Format
  • Personnalisée
  • Dans le champs Type tu entre "0000"

Et tes zéros se mettrons automatiquement pour obtenir 4 caractères :

Capture.PNG

Concernant ta seconde demande [...]

NB/ chaque cellule ne doit pas depassée 4 caractères

[...], tu peut utiliser une "Validation des données" dans l'onglet "Données"

  • Tu sélectionne ta colonne
  • Validation des données
  • Autoriser : Personnalisé
  • Formule : "=NBCAR(C1)<=4"

Avec cette formule, il n'est plus possible d'avoir plus de 4 caractères par cellules

Capture2.PNG

Restant à ta dispo!

bonjour JUICE

je sais faire ça le sujet n'est pas le format mais plutôt d'ajout de zéros à mes valeurs qui peuvent être alphanumériques

par exemple je peux avoir avoir ça

0A-----------------000A

023---------------0023

100---------------0100

5-------------------0005

merci pour ton aide

Re~

Salut Jean Eric

Salut M12

Bon bah voilà une solution par macro :

Sub Insert0()
Dim c, p As Range
Dim i As Integer
Set p = Range("C2:C" & Range("C" & Rows.Count).End(xlUp).Row)
For Each c In p
    For i = Len(c) To 3
        c.Value = "'0" & c.Value
    Next
Next c
End Sub

Il faut juste que ta liste de code soit en colonne C, sinon il y a des références à changer dans ce code

Restant à dispo

Erreur de ma part pour le double post et impossible de supp le message

Re,

Une autre proposition.

Cdlt.

Sub insert()
Dim n As Long, i As Long, x As String
    With ActiveSheet
        n = .Cells(.Rows.Count, 1).End(xlUp).Row
        For i = 2 To n
            x = WorksheetFunction.Rept(0, 4 - Len(.Cells(i, 1)))
            .Cells(i, 3).NumberFormat = "@"
            .Cells(i, 3).Value = x & .Cells(i, 1).Value
        Next i
    End With
End Sub

Re~

Salut Jean Eric

Salut M12

Bon bah voilà une solution par macro :

Sub Insert0()
Dim c, p As Range
Dim i As Integer
Set p = Range("C2:C" & Range("C" & Rows.Count).End(xlUp).Row)
For Each c In p
    For i = Len(c) To 3
        c.Value = "'0" & c.Value
    Next
Next c
End Sub

Il faut juste que ta liste de code soit en colonne C, sinon il y a des références à changer dans ce code

Restant à dispo

merci ça marche nikel

merci ça marche nickel

Hello, besoin d'aide,

j'essaie de retravailler une macro script google sheet

J'essaie de contruire un identifiant qui est composé de la sorte "ANO-0001" et après on incrémente "ANO-0002" etc..

je veux répéter le 0

Je suis tombée sur une fonction dans votre échange que j'ai essayé d'utilise mais ça ne fonctionne pas ! help

Nouveau_No_Anomalie = "ANO-" + WorksheetFunction.Rept(0,3) + Dernier_No_Anomalie_Num

Nouveau_No_Anomalie = WorksheetFunction.Rept("0",3)

En erreur j'ai "Reference error: "WorksheetFunction is not defined" . Il faut le déclarer?

Merci pour votre aide

Rechercher des sujets similaires à "inserer zeros manquants chiffre"