Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
bonjour
merci de votre réponse
en fait ce sont les chiffres que je dactylographie en fonction du problème et je dois les convertir en format de la cellule E5. En fait j'ai pas vu l'erreur cela doit être 00 aussi
Cordialement
Bonjour le forum
je reviens vers vous car j'ai un nombre sous le format :
00092201103
qui devrait se transformer avec la formule en AA: 000922-011.03
Or, les 0 s'effacent devant mais ils doivent rester.
Quelqu'un peut-il m'aider à adapter la formule pour que les 0 restent : je n'avais pas pensé à ce cas de figure.
Hello,
sinon c'est faisable avec une fonction personnalisée qui utilise les expressions régulières :
VB:
Function FrmRegex(str1, str2) As String
Dim regex As Object
Dim output
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = "(\d{6})(\d{2})(\d{3})"
output = regex.Replace(str1, "$1-$2.$3")
regex.Pattern = ".*(\d{7})$"
output = "AA : " + output + " BB : " + regex.Replace(str2, "$1")
Debug.Print output
FrmRegex = output
End Function
Sub TestFrmRegex()
Debug.Print FrmRegex("40625017527", "1032946594-9356500")
End Sub
Hello,
sinon c'est faisable avec une fonction personnalisée qui utilise les expressions régulières :
VB:
Function FrmRegex(str1, str2) As String
Dim regex As Object
Dim output
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = "(\d{6})(\d{2})(\d{3})"
output = regex.Replace(str1, "$1-$2.$3")
regex.Pattern = ".*(\d{7})$"
output = "AA : " + output + " BB : " + regex.Replace(str2, "$1")
Debug.Print output
FrmRegex = output
End Function
Sub TestFrmRegex()
Debug.Print FrmRegex("40625017527", "1032946594-9356500")
End Sub
Je ne sais pas si on peut faire cela en formule avec les Regex de Excel 365 (que je n'ai pas)
Un tout grand merci Jp mais là cela dépasse mes petites compétences. Je n'y comprends rien....
Mon souci si le nombre ne commence pas par 000 la formule de Vgendron fonctionne excellemment bien . Le problème se pose quand cela commence par 000, ces 000 s'effacent
Bien cordialement et merci
Normalement si il doit y avoir toujours onze chiffres dans le premier nombre ce code fonctionne (des zéros sont rajoutés au début si il n'y a pas 11 chiffres) :
VB:
Function FrmRegex(str1, str2) As String
Dim regex As Object
Dim output
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = "(\d{6})(\d{2})(\d{3})"
output = regex.Replace(Format(str1, "00000000000"), "$1-$2.$3")
regex.Pattern = ".*(\d{7})$"
output = "AA : " + output + " BB : " + regex.Replace(str2, "$1")
FrmRegex = output
End Function
Sub TestFrmRegex()
Debug.Print FrmRegex("625017527", "1032946594-9356500")
End Sub
Hello,
pour avoir un code fiable, il faudrait nous dire ce qu'il risque d'y avoir en entrée (des chiffres ? des chaînes ? l'un ou l'autre) et ce qu'on attend en sortie. Ou alors avoir différents exemples montrant ce qui peut arriver.
Ami calmant, J.P
- 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