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?
A voir également:
- Déconcaténer sous excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
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.
Dim Result
Result = Split(ActiveCell.Offset(0, 19), Chr(10))
Var1 = Result(0)
Var2 = Result(1)
Var3 = Result(2)
etc.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question