Changement d'une chaine de caractère en tableau

Résolu
AhKa Messages postés 1 Statut Membre -  
pijaku Messages postés 13513 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.

1 réponse

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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