Déconcaténer sous excel
moumouss81
Messages postés
16
Statut
Membre
-
phil232 Messages postés 610 Statut Membre -
phil232 Messages postés 610 Statut Membre -
Bonjour,
Lors d'un enregistrement à l'aide d'un userform j'ai concaténé plusieurs vaiables enregistrées dans des TextBox pour qu'ellesapparaissent dans la même cellule (cf code suivant).
For i = 1 to 6
If i = 1 Then
ActiveCell.Offset(0, 19) = UF2.Controls("TextBox" & i).Value
ElseIf UF2.Controls("TextBox" & i).Value <> "" Then
ActiveCell.Offset(0, 19) = ActiveCell.Offset(0, 19) & Chr(10) & UF2.Controls("TextBox" & i).Value
End If
Next i
Ensuite j'ai créer une fonction qui permet de modifier un enregistrement mais je n'arrive pas à déconcaténer cette chaîne de caractères pour que les valeurs d'origines soient insérées dans des TextBox distinctes.
A priori il suffit de faire une lecture de la valeur et dès qu'on trouve "Chr(10)" (retour chariot) couper et oller dans la TextBox suivante. Mais j'arrive pas à coder ça.
Quelqu'un aurait une solution?
Lors d'un enregistrement à l'aide d'un userform j'ai concaténé plusieurs vaiables enregistrées dans des TextBox pour qu'ellesapparaissent dans la même cellule (cf code suivant).
For i = 1 to 6
If i = 1 Then
ActiveCell.Offset(0, 19) = UF2.Controls("TextBox" & i).Value
ElseIf UF2.Controls("TextBox" & i).Value <> "" Then
ActiveCell.Offset(0, 19) = ActiveCell.Offset(0, 19) & Chr(10) & UF2.Controls("TextBox" & i).Value
End If
Next i
Ensuite j'ai créer une fonction qui permet de modifier un enregistrement mais je n'arrive pas à déconcaténer cette chaîne de caractères pour que les valeurs d'origines soient insérées dans des TextBox distinctes.
A priori il suffit de faire une lecture de la valeur et dès qu'on trouve "Chr(10)" (retour chariot) couper et oller dans la TextBox suivante. Mais j'arrive pas à coder ça.
Quelqu'un aurait une solution?
Configuration: Windows XP Internet Explorer 7.0
5 réponses
-
Utilise la fonction Split
Dim Result
Result = Split(ActiveCell.Offset(0, 19), Chr(10))
Var1 = Result(0)
Var2 = Result(1)
Var3 = Result(2)
etc. -
-
keski ne marche pas ?
C'est dans un module VBA qu'il faut le faire -
je l'ai mis dans un module mais je n'arrive pas pas à récupérer var, var2...
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Je peux voir comment tu fait ?
Parceque c'est strightforward.