Extraction du bon Code

  • Initiateur de la discussion Initiateur de la discussion KTM
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

KTM

XLDnaute Impliqué
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
 

Pièces jointes

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)
 
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+
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
596
Retour