Transposer / des paquets de 5 sur une ligne en différente ligne
Fermé
Spoutnik.1
Messages postés
4
Date d'inscription
lundi 29 juin 2020
Statut
Membre
Dernière intervention
29 juin 2020
-
29 juin 2020 à 17:48
Spoutnik.1 Messages postés 4 Date d'inscription lundi 29 juin 2020 Statut Membre Dernière intervention 29 juin 2020 - 29 juin 2020 à 18:38
Spoutnik.1 Messages postés 4 Date d'inscription lundi 29 juin 2020 Statut Membre Dernière intervention 29 juin 2020 - 29 juin 2020 à 18:38
A voir également:
- Transposer / des paquets de 5 sur une ligne en différente ligne
- Partage de photos en ligne - Guide
- Site de vente en ligne particulier - Guide
- Aller à la ligne excel - Guide
- Apparaitre hors ligne instagram - Guide
- Test performance pc en ligne - Guide
5 réponses
Yoyo01000
Messages postés
1639
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
7 mars 2022
167
29 juin 2020 à 17:50
29 juin 2020 à 17:50
Bonjour,
oui ?!
oui ?!
Utilisateur anonyme
29 juin 2020 à 17:53
29 juin 2020 à 17:53
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+
Spoutnik.1
Messages postés
4
Date d'inscription
lundi 29 juin 2020
Statut
Membre
Dernière intervention
29 juin 2020
29 juin 2020 à 17:55
29 juin 2020 à 17:55
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
Spoutnik.1
Messages postés
4
Date d'inscription
lundi 29 juin 2020
Statut
Membre
Dernière intervention
29 juin 2020
Modifié le 29 juin 2020 à 18:11
Modifié le 29 juin 2020 à 18:11
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
Spoutnik.1
Messages postés
4
Date d'inscription
lundi 29 juin 2020
Statut
Membre
Dernière intervention
29 juin 2020
29 juin 2020 à 18:38
29 juin 2020 à 18:38
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
'