Extraction du bon Code

KTM

XLDnaute Occasionnel
Salut le Forum
J'ai recu une base de données avec des codes ne respectant pas la nomenclature indiquée et que je dois corriger.
je voudrais savoir si c'est possible avec une formule de gérer ce probleme. Ci joint un Fichier pour illustration.
La no
 

Fichiers joints

Victor21

XLDnaute Barbatruc
Supporter XLD
Bonjour, KTM.

Essayez :
=TEXTE(STXT(A3;1;TROUVE("/";$A3;1)-1);"0000")&"/"&STXT(A3;TROUVE("/";$A3;1)+1;2)&"/"&STXT(A3;TROUVE("/";$A3;TROUVE("/";$A3;1)+1)+3;2)&"/"&DROITE(STXT(A3;TROUVE("/";$A3;TROUVE("/";$A3;TROUVE("/";$A3;1)+1)+1)+1;5);4)
 

job75

XLDnaute Barbatruc
Bonjour KTM, Patrick,

Une solution VBA :
VB:
Sub Correction()
Dim tablo, i&, s
With [A3].CurrentRegion 'à adapter
    tablo = .Resize(, 2) 'matrice, plus rapide, au moins 2 éléments
    For i = 1 To UBound(tablo)
        s = Split(tablo(i, 1), "/")
        If UBound(s) = 3 Then
            s(0) = Right("0000" & s(0), 4)
            s(1) = Right("00" & s(1), 2)
            s(2) = Right("00" & s(2), 2)
            s(3) = Right("0000" & s(3), 4)
            tablo(i, 1) = Join(s, "/")
        End If
    Next
    .Columns(1) = tablo
End With
End Sub
Edit : la cellule A9 n'est pas corrigée car il y a 4 "/" au lieu de 3.

Pour éviter des erreurs il vaut mieux rechercher manuellement en colonne A les "//" et les remplacer (si nécessaire) par "/".

A+
 

Fichiers joints

Dernière édition:

KTM

XLDnaute Occasionnel
C''est Epoustouflant si on peut dire ainsi
Extraordinaire!
Merci job75 et Victor21 Vraiment!!
 

Discussions similaires


Haut Bas