Rajouter un chiffre dans plusieurs références

antwane

XLDnaute Nouveau
Bonjour,

J'ai une liste de référence à mettre à jour (la codification passe de 3 à 4 chiffres), mais ces références sont également composés de préfixe et suffixe (ex : ES460A doit devenir ES0460A).

Problème c'est que les suffixes et préfixes n'ont pas forcément le même nombre de caractère, et je ne vois pas comment isoler le code qui est composé exclusivement de chiffres, contrairement au préfixe/suffist qui sont eux composé uniquement de caractères alphabétiques.

J'ai mis en pièce-jointe un exemple de ce que je souhaite obtenir.
Merci d'avance pour votre aide
 

Pièces jointes

  • exemple.xlsx
    9.9 KB · Affichages: 11

patricktoulon

XLDnaute Barbatruc
re
salut
une fonction perso pour le fun avec un regex
formule dans cellule :"=Refnumber(A2)"

VB:
'utilisation vba
Sub testx()
MsgBox Refnumber("EH458G")
End Sub
'
Function Refnumber(cel As String)
      With CreateObject("VBScript.RegExp"):
        .Global = True: .IgnoreCase = True: .Pattern = "(\D{1,3})"
        Refnumber = Replace(cel, .Replace(cel, ""), Right("0" & .Replace(cel, ""), 4))
        End With
End Function
 

job75

XLDnaute Barbatruc
Bonjour à tous,

Si l'on veut appliquer le format "0000" aux nombres utiliser cette fonction VBA :
VB:
Function F0000(t As String) As String
Dim i%, flag As Boolean, fin%, deb%
For i = 1 To Len(t) + 1
    If flag Then
        If Not IsNumeric(Mid(t, i, 1)) Then fin = i: Exit For
    Else
        If IsNumeric(Mid(t, i, 1)) Then
            flag = True
            deb = i
        End If
    End If
Next
If deb Then F0000 = Left(t, deb - 1) & Format(Mid(t, deb, fin - deb), "0000") & Mid(t, fin) Else F0000 = t
End Function
Des zéros sont ajoutés uniquement aux nombre de moins de 4 chiffres significatifs.

A+
 

Pièces jointes

  • Format 0000(1).xlsm
    17 KB · Affichages: 4

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 196
Membres
103 153
dernier inscrit
SamirN