Changement d'une chaine de caractère en tableau
Résolu
AhKa
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je veux savoir la possibilité de transformer une chaine de caractère qui contient plusieurs numéros avec un séparateur identique (Exp "/ ") en plusieurs cellules qui contiennent les numéros qui existent dans la chaine d'origine.
Exp : Transformer la cellule A1 : 567/899/98/365 en B1: 567,B2: 899, B3: 98 et B4: 365
Merci en avance pour votre collaboration.
Je veux savoir la possibilité de transformer une chaine de caractère qui contient plusieurs numéros avec un séparateur identique (Exp "/ ") en plusieurs cellules qui contiennent les numéros qui existent dans la chaine d'origine.
Exp : Transformer la cellule A1 : 567/899/98/365 en B1: 567,B2: 899, B3: 98 et B4: 365
Merci en avance pour votre collaboration.
A voir également:
- Changement d'une chaine de caractère en tableau
- Tableau word - Guide
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Changer de dns - Guide
- Caractere speciaux - Guide
1 réponse
Bonjour,
En VBA, pour scinder une chaîne de caractères (567/899/98/365) en fonction d'un délimiteur ("/"), on utilise la fonction Split.
Voici, pour toi, une fonction personnalisée, qui réalise ce que tu souhaites :
Utilisation :
en A1 saisir 567/899/98/365
en B1 saisir la formule : =Convertir(A$1;LIGNE())
et "étirer" cette formule vers le bas de la colonne B.
En VBA, pour scinder une chaîne de caractères (567/899/98/365) en fonction d'un délimiteur ("/"), on utilise la fonction Split.
Voici, pour toi, une fonction personnalisée, qui réalise ce que tu souhaites :
Function Convertir(Cel As Range, num As Integer) Dim NbreDelimiteur As Byte, Delimiteur As String Delimiteur = "/" NbreDelimiteur = Len(Cel.Value) - Len(Replace(Cel.Value, Delimiteur, "")) If NbreDelimiteur < num - 1 Then Convertir = "" Else Convertir = Split(Cel, Delimiteur)(num - 1) End If End Function
Utilisation :
en A1 saisir 567/899/98/365
en B1 saisir la formule : =Convertir(A$1;LIGNE())
et "étirer" cette formule vers le bas de la colonne B.