[Résolu] Insertion de tirets dans une chaine de caractères

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

Gacko

XLDnaute Nouveau
Bonjour,
Devant saisir chaque jour beaucoup d'IBAN dans le cadre de mon travail je cherche une formule pour ajouter des tirets afin d'obtenir une meilleure lisibilité
C'est pour passer par ex de: FR7610096181020007557020165 à FR76-1009-6181-0200-0755-7020-165
Auriez vous une idée les amis ?
Merci beaucoup ;-)
 
Bonjour Gacko
Une macro evenementielle a mettre dans le code de ta feuille de saisie :

Private Sub Worksheet_Change(ByVal Target As Range)
If Len(Target.Value) <> 27 Then Exit Sub
Target.Value = Left(Target.Value, 4) & "-" & Right(Left(Target.Value, 8), 4) & "-" & Right(Left(Target.Value, 12), 4) _
& "-" & Right(Left(Target.Value, 16), 4) & "-" & Right(Left(Target.Value, 20), 4) & "-" & _
Right(Left(Target.Value, 24), 4) & "-" & Right(Left(Target.Value, 27), 3)
End Sub

A tester
 
Bonjour Gacko,

Avec ton exemple si IBAN en A2 :

=STXT(A2;1;4)&"-"&STXT(A2;5;4)&"-"&STXT(A2;9;4)&"-"&STXT(A2;13;4)&"-"&STXT(A2;17;4)&"-"&STXT(A2;21;4)&"-"&STXT(A2;25;3)

(Prérequis : tout le temps le même nombre de caractères entre les tirets)
A+
 
Bonjour kan

La formule donne VRAI comme résultat. Et la macro de fred donne le résultat escompté.

La macro de fred en Formule

=GAUCHE(A2;4)&"-"&DROITE(GAUCHE(A2;8);4)&"-"&DROITE(GAUCHE(A2;12);4)&"-"&DROITE(GAUCHE(A2;16);4)&"-"&DROITE(GAUCHE(A2;20);4)&"-"&DROITE(GAUCHE(A2;24);4)&"-"&DROITE(A2;3)
 
Dernière édition:
Bonsoir le fil, le forum

Histoire de m'amuser 😉
Mode d'emploi
Si en A1 on a :FR7610096181020007557020165
En B1 saisir
=AUSS_IBAN_CALE_KELAMAISON_DES_3_TITS_COCHONS(A1)
VB:
Public Function AUSS_IBAN_CALE_KELAMAISON_DES_3_TITS_COCHONS(C$) As String
Dim tmp$, x!, i!
If IsEmpty(C) Then Exit Function
tmp = "": x = Len(C)
For i = 1 To x Step 4
tmp = tmp & Mid(C, i, 4) & "-"
Next i
AUSS_IBAN_CALE_KELAMAISON_DES_3_TITS_COCHONS = Left(tmp, 33)
End Function

NB: J'autorise le demandeur a renommer cette petite fonction personnalisée à sa guise 😉
 
Bonsour®
Bonjour,
Devant saisir chaque jour beaucoup d'IBAN dans le cadre de mon travail je cherche une formule pour ajouter des tirets afin d'obtenir une meilleure lisibilité
C'est pour passer par ex de: FR7610096181020007557020165 à FR76-1009-6181-0200-0755-7020-165
Auriez vous une idée les amis ?
Merci beaucoup ;-)
???? pourquoi ré-inventer un découpage qui est normalisé :
https://www.iban.fr/structure.html
=STXT(B1;1;2) &"-"&STXT(B1;3;2)&"-"&STXT(B1;5;5)&"-"&STXT(B1;10;5)&"-"&STXT(B1;15;11)&"-"&STXT(B1;26;2)
upload_2018-4-18_19-58-9.png


au passage une proc pour afficher le découpage IBAn
et ajouter les tirets
lancer la proc après avoir sélectionné la cellule contenant la saisie
VB:
Sub verif_IBAN()
Dim IBAN As String, Codepays, CleIban, Codebanque, CodeGuichet, Compte, clerib, htab
htab = Chr(9)
IBAN = Application.Substitute(Selection, "-", "")
IBAN = Application.Substitute(IBAN, " ", "")
Codepays = Left(IBAN, 2)
CleIban = Mid(IBAN, 3, 2)
Codebanque = Mid(IBAN, 5, 5)
CodeGuichet = Mid(IBAN, 10, 5)
Compte = Mid(IBAN, 15, 11)
clerib = Mid(IBAN, 26, 2)
MsgBox "Code Pays : " & htab & Codepays _
& vbCr & "Cle Iban : " & htab & CleIban _
& vbCr & "Code banque : " & htab & Codebanque _
& vbCr & "Code Guichet : " & htab & CodeGuichet _
& vbCr & "N° compte : " & htab & Compte _
& vbCr & "Cle rib :   " & htab & clerib
Selection = Codepays & "-" & CleIban & "-" & Codebanque & "-" & CodeGuichet & "-" & Compte & "-" & clerib
End Sub
upload_2018-4-18_23-12-29.png


ce qui serait un plus serait le controle de la clé IBAN (caractères 3 et 4)
ainsi que la clé RIB
https://fr.wikipedia.org/wiki/International_Bank_Account_Number#Algorithme_de_vérification_de_l'IBAN
 
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
Retour