Résultat de Split dans tableau 2D VBA
Résolu
Galgante
-
Galgante -
Galgante -
Bonjour,
Je cherche à récupérer des valeurs dans une feuille 1 (colonne 1) et les placer dans un tableau à 2 dimensions.
- Description du contenu de ma colonne feuille 1: 480 lignes, le contenu de chaque ligne est un ensemble de valeurs séparées par des virgules (sur 1 colonne)
Ligne 1 = [valeur1, valeur2, valeur3,... ,valeur 20]
Je cherche à mettre le résultat de
Dans le tableau suivant:
NB: Lors d'un test d'espionnage de la variable tab1, le debugger me sort un tableau, mais je ne trouve pas comment y accéder en code...
Je cherche à récupérer des valeurs dans une feuille 1 (colonne 1) et les placer dans un tableau à 2 dimensions.
- Description du contenu de ma colonne feuille 1: 480 lignes, le contenu de chaque ligne est un ensemble de valeurs séparées par des virgules (sur 1 colonne)
Ligne 1 = [valeur1, valeur2, valeur3,... ,valeur 20]
Je cherche à mettre le résultat de
For i = 0 To 480
tab1(i) = Split(Worksheets("feuille 1").Cells(i + 1, 1), ",") 'Séparation
Next i
Dans le tableau suivant:
Dim tab2(480,20)
NB: Lors d'un test d'espionnage de la variable tab1, le debugger me sort un tableau, mais je ne trouve pas comment y accéder en code...
A voir également:
- Parcourir un tableau vba
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
- Tableau croisé dynamique - Guide
3 réponses
Bonjour,
Par exemple :
;o)
Par exemple :
Dim i As Integer
Dim j As Integer
For i = 0 To 480
For j = 0 To 20
MsgBox tab2(i,j)
Next j
Next i
;o)
A la place d'un code VBA, j'ai utilisé la fonction Excel suivante, qui fonctionne très bien:
Données/Convertir...
J'ai ensuite sélectionné ma colonne...
Si quelqu'un sait comment faire en VBA, je suis tout de même preneur.
Cdlt.
Données/Convertir...
J'ai ensuite sélectionné ma colonne...
Si quelqu'un sait comment faire en VBA, je suis tout de même preneur.
Cdlt.
bonjour
en VBA restitution en feuille2 (testé sur 3 lignes et 2 valeurs par ligne)
en VBA restitution en feuille2 (testé sur 3 lignes et 2 valeurs par ligne)
Sub decouper_lig()
Dim derlig As Integer
Dim tablo, temp
derlig = Range("A1000").End(xlUp).Row - 1
ReDim tablo(derlig, 19)
For cptr = 0 To derlig
temp = Split(Sheets(1).Cells(cptr + 1, 1), ",")
For col = 0 To UBound(temp)
tablo(cptr, col) = temp(col)
Next
Next
Sheets(2).Range("A1:B" & derlig + 1) = tablo
End Sub
Voici la version finale de mon code, tirée de la version de michel_m:
Encore merci.
Sub decouper_lig()
Dim derlig As Integer
Dim tablo, temp
Dim col As Integer
On Error GoTo Errorr
derlig = Worksheets("VAR L39 ligne").Range("A1000").End(xlUp).Row - 1
col = 0
ReDim tablo(derlig, 19)
For cptr = 0 To derlig
temp = Split(Worksheets("VAR L39 ligne").Cells(cptr + 1, 1), ",")
For col = 0 To 19
tablo(cptr, col) = temp(col)
Next col
Next cptr
Worksheets("Feuil2").Range("A1:T" & derlig + 1) = tablo
Exit Sub
Errorr:
MsgBox Err.Number & " " & Err.Description & vbCrLf & "Col: " & col & vbCrLf & "Lig: " & cptr & vbCrLf & "Derlig: " & derlig
Worksheets("Feuil2").Range("A1:T" & derlig + 1) = tablo
End Sub
Encore merci.
Merci pour la tentative, mais mon problème n'est pas le fait de parcourir un tableau 2D, mais de récupérer dans un tableau 2D les données générées par la fonction "Split"