Transposer / des paquets de 5 sur une ligne en différente ligne
Spoutnik.1
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Spoutnik.1 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Spoutnik.1 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je me permets de venir ici pour une question excel.
je bidouille vba sans être avancé, j'avais repris le travail d'une contribution pour transposer / découper et je tente de l'améliorer mais suis bloqué sur une boucle.
je me permets de venir ici pour une question excel.
je bidouille vba sans être avancé, j'avais repris le travail d'une contribution pour transposer / découper et je tente de l'améliorer mais suis bloqué sur une boucle.
Configuration: Windows / Chrome 83.0.4103.116
A voir également:
- Transposer / des paquets de 5 sur une ligne en différente ligne
- Partage de photos en ligne - Guide
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
- Aller à la ligne excel - Guide
- Site de vente en ligne particulier - Guide
5 réponses
Bonjour
Vos "paquets" de 5 sont séparés comment ?
Les données ont des longueurs fixes, variables ?
La fonction Données, Convertir peut peut être fonctionner parfaitement mais il faudrait "voir" les données ou avoir une copie du fichier (si pas de données privées) avec cjoint.com
A+
Vos "paquets" de 5 sont séparés comment ?
Les données ont des longueurs fixes, variables ?
La fonction Données, Convertir peut peut être fonctionner parfaitement mais il faudrait "voir" les données ou avoir une copie du fichier (si pas de données privées) avec cjoint.com
A+
Bonjour,
je me permets de venir ici pour une question excel.
je bidouille vba sans être avancé, j'avais repris le travail d'une contribution pour transposer / découper et je tente de l'adapter mais suis bloqué sur une boucle.
en gros j'ai 2000 ligne avec 14 * 5 arguments qui se suivent.
je souhaite transformer le tout pour avoir 28000 ligne avec 5 cases
grâce à Michel_m sur ce forum, je sais le faire pour une ligne, mais je n'arrive pas à le faire pour passer à la ligne suivante.
le post sur lequel j'avais trouvé de l'aide:
https://forums.commentcamarche.net/forum/affich-14285438-excel-vba-ecel-mise-en-forme-ligne
ma tentative, presque fructueuse. je pense que le probleme vient du range, mais je ne le comprends pas. si qqun à une idée.
Sub transposerligne(deb_lig As Long, deb_col As Long, ColL As String, LigneL As Long)
Dim nbligne As Long
Dim col As Long, lig As Long
Dim tablo(4, 20)
For nbligne = 0 To 1
For col = 0 To 20
For lig = 0 + nbligne * 5 To 4 + nbligne * 5
tablo(lig, col) = Cells(deb_lig, deb_col)
deb_col = deb_col + 1
Next
Next
Range(ColL & LigneL + nbligne * 5).Resize(5, 5) = Application.Transpose(tablo)
Next
End Sub
-----------------------------------------------------------------------
Sub transformer_tableauligne()
transposerligne 1, 1, "aa", 8
End Sub
'pour des paquets de 5 lignes
'Range(cells(ColL & LigneL) pour faire varier range
je me permets de venir ici pour une question excel.
je bidouille vba sans être avancé, j'avais repris le travail d'une contribution pour transposer / découper et je tente de l'adapter mais suis bloqué sur une boucle.
en gros j'ai 2000 ligne avec 14 * 5 arguments qui se suivent.
je souhaite transformer le tout pour avoir 28000 ligne avec 5 cases
grâce à Michel_m sur ce forum, je sais le faire pour une ligne, mais je n'arrive pas à le faire pour passer à la ligne suivante.
le post sur lequel j'avais trouvé de l'aide:
https://forums.commentcamarche.net/forum/affich-14285438-excel-vba-ecel-mise-en-forme-ligne
ma tentative, presque fructueuse. je pense que le probleme vient du range, mais je ne le comprends pas. si qqun à une idée.
Sub transposerligne(deb_lig As Long, deb_col As Long, ColL As String, LigneL As Long)
Dim nbligne As Long
Dim col As Long, lig As Long
Dim tablo(4, 20)
For nbligne = 0 To 1
For col = 0 To 20
For lig = 0 + nbligne * 5 To 4 + nbligne * 5
tablo(lig, col) = Cells(deb_lig, deb_col)
deb_col = deb_col + 1
Next
Next
Range(ColL & LigneL + nbligne * 5).Resize(5, 5) = Application.Transpose(tablo)
Next
End Sub
-----------------------------------------------------------------------
Sub transformer_tableauligne()
transposerligne 1, 1, "aa", 8
End Sub
'pour des paquets de 5 lignes
'Range(cells(ColL & LigneL) pour faire varier range
pour répondre, les données sont dans des cases séparées.
ligne 1: (il y a toujours le meme nombre de paquets de 5)
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
abcde abcde abcde
et je voudrais
12345
12345
12345
abcde
abcde
abcde
ligne 1: (il y a toujours le meme nombre de paquets de 5)
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
abcde abcde abcde
et je voudrais
12345
12345
12345
abcde
abcde
abcde
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
si ca peut interresser qqun un jour, je pense avoir reussi le test est sur 1 ligne avec 20 cases que je coupe en paquet de 5.
Sub transposerligne(deb_lig As Long, deb_col As Long, ColL As String, LigneL As Long)
Dim nbligne As Long
Dim col As Long, lig As Long
Dim tablo(4, 20)
For col = 0 To 20
For lig = 0 + nbligne * 5 To 4 + nbligne * 5
tablo(lig, col) = Cells(deb_lig, deb_col)
deb_col = deb_col + 1
Next
Next
Range(ColL & LigneL).Resize(5, 5) = Application.Transpose(tablo)
End Sub
Sub transformer_tableauligne()
Dim nbligne As Long
For nbligne = 1 To 4
transposerligne nbligne, 1, "aa", 7 + nbligne * 4
Next
End Sub
'pour des paquets de 5 lignes
'Range(cells(ColL & LigneL) pour faire varier range
'
Sub transposerligne(deb_lig As Long, deb_col As Long, ColL As String, LigneL As Long)
Dim nbligne As Long
Dim col As Long, lig As Long
Dim tablo(4, 20)
For col = 0 To 20
For lig = 0 + nbligne * 5 To 4 + nbligne * 5
tablo(lig, col) = Cells(deb_lig, deb_col)
deb_col = deb_col + 1
Next
Next
Range(ColL & LigneL).Resize(5, 5) = Application.Transpose(tablo)
End Sub
Sub transformer_tableauligne()
Dim nbligne As Long
For nbligne = 1 To 4
transposerligne nbligne, 1, "aa", 7 + nbligne * 4
Next
End Sub
'pour des paquets de 5 lignes
'Range(cells(ColL & LigneL) pour faire varier range
'