OVH Cloud OVH Cloud

de CSV à matrice

2 réponses
Avatar
Lanedune
Bonjour,

j'ai une variable de type string dans mon code VB qui contient des données
CSV:

Dim chaine As String
String = "1;2;3\n4;5;6;7\n8;9"

Je voudrais savoir comment la transformer automatiquement (sans la découper
moi même) en matrice (cases excel) en remplissant les cases que j'ai
sélectionnées pour faire appel à ma fonction VBA.

Je pose cette question car vu qu'il y a un assistant pour importer un
fichier CSV je me dis qu'il y a forcément une fonction dans excel utilisée
par cet assistant qui doit savoir faire ce que je veux faire. J'ai bien
"trouvé" une fonction TextToColumns mais çà n'a pas l'air de faire exactement
ce que je cherche car çà ne me créé qu'une ligne... des idées?

merci

2 réponses

Avatar
Joëlle
Bonjour,
je ne comprends pas exactement sous quelle forme tu veus tes données.
j'ai eu un problème similaire et je l'ai résolu de la manière suivante:
Application.DisplayAlerts = False
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:úlse, _
Semicolon:=True, Comma:úlse, Space:úlse, Other:úlse, FieldInfo _
:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Application.DisplayAlerts = True

si cela ne t'aide pas , refais nous signe.
A+


Bonjour,

j'ai une variable de type string dans mon code VB qui contient des données
CSV:

Dim chaine As String
String = "1;2;3n4;5;6;7n8;9"

Je voudrais savoir comment la transformer automatiquement (sans la découper
moi même) en matrice (cases excel) en remplissant les cases que j'ai
sélectionnées pour faire appel à ma fonction VBA.

Je pose cette question car vu qu'il y a un assistant pour importer un
fichier CSV je me dis qu'il y a forcément une fonction dans excel utilisée
par cet assistant qui doit savoir faire ce que je veux faire. J'ai bien
"trouvé" une fonction TextToColumns mais çà n'a pas l'air de faire exactement
ce que je cherche car çà ne me créé qu'une ligne... des idées?

merci


Avatar
Lanedune
Je n'arrive pas à déterminer si celà correspond ou pas à ce que je cherche à
faire :/

Pour être plus précis, voici le code avec le passage en commentaires à
compléter:


Public Function DisplayTheCsvString() As Variant
Dim CsvString As String
Dim DisplayedMatrix() As Variant

CsvString = GiveMeTheString()
' here lies the code to display my CSV string
' as a matrix in Excel in the selected cells
DisplayTheCsvString = DisplayedMatrix
End Function

Private Function GiveMeTheString() As String
GiveMeTheString = "1;2;3n4;5;6;7n8;9"
End Function


Merci de votre aide.


Bonjour,
je ne comprends pas exactement sous quelle forme tu veus tes données.
j'ai eu un problème similaire et je l'ai résolu de la manière suivante:
Application.DisplayAlerts = False
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:úlse, _
Semicolon:=True, Comma:úlse, Space:úlse, Other:úlse, FieldInfo _
:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Application.DisplayAlerts = True

si cela ne t'aide pas , refais nous signe.
A+


Bonjour,

j'ai une variable de type string dans mon code VB qui contient des données
CSV:

Dim chaine As String
String = "1;2;3n4;5;6;7n8;9"

Je voudrais savoir comment la transformer automatiquement (sans la découper
moi même) en matrice (cases excel) en remplissant les cases que j'ai
sélectionnées pour faire appel à ma fonction VBA.

Je pose cette question car vu qu'il y a un assistant pour importer un
fichier CSV je me dis qu'il y a forcément une fonction dans excel utilisée
par cet assistant qui doit savoir faire ce que je veux faire. J'ai bien
"trouvé" une fonction TextToColumns mais çà n'a pas l'air de faire exactement
ce que je cherche car çà ne me créé qu'une ligne... des idées?

merci