Rechercher : dans
Par :

Vba séparer chaines de caractère d'1 cellule

Dernière réponse le 24 oct 2007 à 23:53:22 benama34, le 24 oct 2007 à 22:40:34 
 Signaler ce message aux modérateurs

Bonjour,
Sous Excel vba j'ai une cellule contenant plusieurs chaines de caractères séparées par un point virgule du style "ben ;rom;jean;zfzf"
le nombre de chaines de caractéres peut varier
il me faut extraire chaque chaine de caractère dans des cellules différentes
j'ai ce code qui marche seulement dans le cas ou il y a deux chaines de caractères.

Sub hh()
Dim CMM(20) As String

Sheets("test").Select

j = 1
i = 1

CMM(i) = Range("A1").Value

Do

ben = CMM(i)

CMM(i) = Left(ben, InStr(ben, ";"))
Sheets("test").Cells(j, 2).Value = CMM(i)

CMM(i + 1) = Right(ben, InStr(ben, ";"))
Sheets("test").Cells(j, 3).Value = CMM(i + 1)

i = i + 1
j = j + 1

Loop While InStr(CMM(i), ";") <> 0



End Sub

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « vba séparer chaines de caractère d'1 cellule » dans :
[Shell] Tester une variable numérique VoirTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...

1

 ShaBoo, le 24 oct 2007 à 23:53:22
  • +4

Bonsoir,

Tu peux utiliser la fonction Split :

Sub test()
    Dim a As Variant
    a = Split("ben ;rom;jean;zfzf", ";" )
    MsgBox a(0)
    MsgBox a(1)
    MsgBox a(2)
    MsgBox a(3)
End Sub 

Répondre à ShaBoo