Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Regrouper en tableau données non contigues dans ligne

2 réponses
Avatar
yves darras
Bonjour,

Sur plusieurs lignes de colonne F =E0 colonne variable suivant ligne, je
dispose de donn=E9es regroup=E9es sur les 4 colonnes suivantes puis
espac=E9es de 14 colonnes...
ex (donn=E9es de F12 =E0 I12, puis vides jusqu'=E0 T12 =E0 W12 (groupes de =
4
cellules non vides toutes les 14 colonnes).
Comment faire en vb pour regrouper ces suites d'occurences sous formes
de tableau de 4 colonnes sur x lignes..
ex: en A1:A4 avoir cellules de F12 =E0 I12 puis en B1:B4 avoir valeurs
de T12:W12 etc....
J'arrive =E0 regrouper sous forme d'une colonne toutes ces donn=E9es, mais
ensuite, je ne sais pas comment faire pour les redistribuer telles que
j'en ai besoin..
ci-dessous le d=E9but du code dont je me sers..
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Sub Liste_val_nonvide_ds_plage()
Dim i, c, lo
i =3D 20
For Each c In Range("f12:ttt12")
If c.Value <> "" Then
Cells(i, 1) =3D c.Value
i =3D i + 1
End If
Next c
lo =3D Range("a18").Value + 20
Range("a20" & ":a" & lo).Select
Stop
For Each c In Selection
If c.Value <> "" Then
''''
End If
Next c
Range("a20:d200").Select
Selection.Sort Key1:=3DSelection, Order1:=3DxlAscending
Range("a20").Select
End Sub
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Merci de vos id=E9es, je suis parti pour y passer mon week-end
Yves

2 réponses

Avatar
yves darras
On 24 oct, 12:30, yves darras wrote:
Bonjour,

Sur plusieurs lignes de colonne F à colonne variable suivant ligne, je
dispose de données regroupées sur les 4 colonnes suivantes puis
espacées de 14 colonnes...
ex (données de F12 à I12, puis vides jusqu'à T12 à W12 (groupes d e 4
cellules non vides toutes les 14 colonnes).
Comment faire en vb pour regrouper ces suites d'occurences sous formes
de tableau de 4 colonnes sur x lignes..
ex: en A1:A4 avoir cellules de F12 à I12 puis en B1:B4 avoir valeurs
de T12:W12 etc....
J'arrive à regrouper sous forme d'une colonne toutes ces données, mai s
ensuite, je ne sais pas comment faire pour les redistribuer telles que
j'en ai besoin..
ci-dessous le début du code dont je me sers..
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Sub Liste_val_nonvide_ds_plage()
Dim i, c, lo
i = 20
For Each c In Range("f12:ttt12")
If c.Value <> "" Then
Cells(i, 1) = c.Value
i = i + 1
End If
Next c
lo = Range("a18").Value + 20
Range("a20" & ":a" & lo).Select
Stop
For Each c In Selection
If c.Value <> "" Then
''''
End If
Next c
Range("a20:d200").Select
Selection.Sort Key1:=Selection, Order1:=xlAscending
Range("a20").Select
End Sub
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Merci de vos idées, je suis parti pour y passer mon week-end
Yves



Erreur,
<<ex: en A1:A4 avoir cellules de F12 à I12 puis en B1:B4 avoir valeurs
de T12:W12 etc....>>
J'ai fait une erreur, il s'agit de en A1:D1 avoir cellules de F12 à
I12 puis en A2:D2 avoir valeurs
de T12:W12 etc..
Toutes mes excuses..
Yves
Avatar
Youky
Salut bien,
Transpose va super bien dans ce cas...
[A1:A4] = Application.Transpose([F12:I12])
idem pour T12

--
Youky
"yves darras" a écrit dans le message de news:

On 24 oct, 12:30, yves darras wrote:
Bonjour,

Sur plusieurs lignes de colonne F à colonne variable suivant ligne, je
dispose de données regroupées sur les 4 colonnes suivantes puis
espacées de 14 colonnes...
ex (données de F12 à I12, puis vides jusqu'à T12 à W12 (groupes de 4
cellules non vides toutes les 14 colonnes).
Comment faire en vb pour regrouper ces suites d'occurences sous formes
de tableau de 4 colonnes sur x lignes..
ex: en A1:A4 avoir cellules de F12 à I12 puis en B1:B4 avoir valeurs
de T12:W12 etc....
J'arrive à regrouper sous forme d'une colonne toutes ces données, mais
ensuite, je ne sais pas comment faire pour les redistribuer telles que
j'en ai besoin..
ci-dessous le début du code dont je me sers..
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Sub Liste_val_nonvide_ds_plage()
Dim i, c, lo
i = 20
For Each c In Range("f12:ttt12")
If c.Value <> "" Then
Cells(i, 1) = c.Value
i = i + 1
End If
Next c
lo = Range("a18").Value + 20
Range("a20" & ":a" & lo).Select
Stop
For Each c In Selection
If c.Value <> "" Then
''''
End If
Next c
Range("a20:d200").Select
Selection.Sort Key1:=Selection, Order1:=xlAscending
Range("a20").Select
End Sub
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Merci de vos idées, je suis parti pour y passer mon week-end
Yves



Erreur,
<<ex: en A1:A4 avoir cellules de F12 à I12 puis en B1:B4 avoir valeurs
de T12:W12 etc....>>
J'ai fait une erreur, il s'agit de en A1:D1 avoir cellules de F12 à
I12 puis en A2:D2 avoir valeurs
de T12:W12 etc..
Toutes mes excuses..
Yves