Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 formatage d'une suite de chiffres

  • Initiateur de la discussion Initiateur de la discussion Chapichapo
  • 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 !

Chapichapo

XLDnaute Junior
bonjour le forum

j'essaie de formater une suite de chiffres mais je n'y arrive pas.

quelqu'un peut-il regarder le fichier joint ?

merci de votre aide

 

Pièces jointes

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
 

Pièces jointes

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.

Merci bcp de votre aide

PS je remets le fichier pour plus de facilité
 

Pièces jointes

Dernière édition:
Bonjour

dans ton fichier.. il est ou l'exemple que tu donnes?
sinon... pas bien compris, et pas cherché à comprendre la formule

VB:
=SI(B5="pp";"AA  : "&TEXTE(GAUCHE(C5;6);"000000000")&"-"&STXT(C5;7;3)&"."&DROITE(C5;2);SI(B5="PM";SI(NBCAR(C5)=9;"BCE : 0"&GAUCHE(C5;3)&"."&STXT(C5;4;3)&"."&DROITE(C5;3);"AVT : "&GAUCHE(C5;4)&"."&STXT(C5;5;3)&"."&DROITE(C5;3));""))
 
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

AA : 406250-17.527 BB : 9356500

Je ne sais pas si on peut faire cela en formule avec les Regex de Excel 365 (que je n'ai pas)

Ami calmant, J.P
 
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

 

Pièces jointes

- 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
2
Affichages
75
Réponses
13
Affichages
211
Réponses
4
Affichages
102
Réponses
14
Affichages
180
Réponses
14
Affichages
485
Réponses
13
Affichages
410
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…