Changement d'une chaine de caractère en tableau

Résolu/Fermé
AhKa Messages postés 1 Date d'inscription mercredi 17 avril 2013 Statut Membre Dernière intervention 17 avril 2013 - 17 avril 2013 à 20:59
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 18 avril 2013 à 10:25
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.
A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
18 avril 2013 à 10:25
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 :
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.
0