Formater des cellules

Bonjour à tous,

J'ai besoin d'aide concernant un formatage de cellule. Le fichier en pièce jointe illustre le problème.

J'ai des valeurs dans la colonne de gauche que j'aimerais transformer au format XXYYYY, avec des 0 à la place des caractères manquants.

Par avance, merci pour votre aide.

Bien à vous

7tableau.xlsx (10.55 Ko)

Bonjour

Un essai à tester. Te convient-il ?

7tableau-v1.xlsm (26.23 Ko)
Option Explicit

Dim rep&, cell As Range, pos&

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

    rep = MsgBox("Voulez-voux reformater les cellules sélectionnées ?", 20)
    Cancel = True
    For Each cell In Selection
        pos = InStr(1, cell.Value, " ") - 1
        If pos = -1 Then GoTo suite
        If pos = 1 Then
            'MsgBox "0" & Split(cell, " ")(0)
            If Len(Split(cell, " ")(1)) = 1 Then
                cell = "0" & Split(cell, " ")(0) & "000" & Split(cell, " ")(1)
            ElseIf Len(Split(cell, " ")(1)) = 2 Then
                cell = "0" & Split(cell, " ")(0) & "00" & Split(cell, " ")(1)
            Else
                cell = "0" & Split(cell, " ")(0) & "0" & Split(cell, " ")(1)
            End If
        Else
            If Len(Split(cell, " ")(1)) = 1 Then
                cell = Split(cell, " ")(0) & "000" & Split(cell, " ")(1)
            ElseIf Len(Split(cell, " ")(1)) = 2 Then
                cell = Split(cell, " ")(0) & "00" & Split(cell, " ")(1)
            Else
                cell = Split(cell, " ")(0) & "0" & Split(cell, " ")(1)
            End If
        End If
suite:
    Next cell
End Sub

Bye !

Bonjour beuja et GMB Equivalent par formule :

=SI(NBCAR(GAUCHE(A2;TROUVE(" ";A2;1)-1))<2;"0" &GAUCHE(A2;TROUVE(" ";A2;1)-1);GAUCHE(A2;TROUVE(" ";A2;1)-1))&TEXTE(STXT(A2;TROUVE(" ";A2)+1;256);"0000")
5tableauretour.xlsx (10.79 Ko)

Bonjour,

Les deux fonctionnent à merveille. Un grand merci pour votre aide ;)

Bien à vous

Rechercher des sujets similaires à "formater"