Bonjour, et bonne anne a tous.
je vais essayer de vous exposer mon probleme le plus succintement possible.
J'ai un tableau de 1 colonne et X lignes ( c'est variable mais souvant + de
500)
pour faire simple disons 23 lignes.
je veux creer un nouveau fichier (ou une feuile) avec :
- dans la 1er colonne les 5 premieres valeurs dans les lignes 1 à 5 puis
une copie de ces 5 valeurs dans les lignes de 6 à 10
- dans la 2eme colonne les 5 valeurs suivantes dans les lignes 1 à 5
puis une copie de ces valeurs dans les lignes 6 à 10.
- ainsi de suite dans les colonnes 3 et 4.
- pour la colone 5 dans les lignes 1 à 3 les 3 dernieres valeurs de la
liste, rien dans les lignes 4 et 5 puis la copie des 3 valeurs dans le lignes
6 à 8 et rien dans les lignes 9 et 10.
Ouf !! j'espère que ce n'est pas trop confus.
J'ai fait un tri manuellement pour exemple, je peux éventuellement faire
passer le fichier.
Le top serait que la maro reconnaisse le nombre de valeurs à ranger de façon
automatique.
Merci à tous ceux qui auront au moins pris le temps de me lire j'usqu'au
bout.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gaenonius
Si j'ai bien compris, avec tes 23 lignes exemples en colonne A, de A1 à A23 :
Sub Decoupe() Dim DerLi As Long DerLi = Cells(Rows.Count, "A").End(xlUp).Row j = 1 For i = 4 To DerLi Step 5 j = j + 1 Cells(6, j - 1).Resize(DerLi - i - 1).Cut Cells(1, j) Next Range("1:5").Copy Range("6:10") End Sub
Si les données ne commencent pas en A1, il faudra adapter.
-- Gaenonius
Bonjour, et bonne anne a tous. je vais essayer de vous exposer mon probleme le plus succintement possible. J'ai un tableau de 1 colonne et X lignes ( c'est variable mais souvant + de 500) pour faire simple disons 23 lignes. je veux creer un nouveau fichier (ou une feuile) avec : - dans la 1er colonne les 5 premieres valeurs dans les lignes 1 à 5 puis une copie de ces 5 valeurs dans les lignes de 6 à 10 - dans la 2eme colonne les 5 valeurs suivantes dans les lignes 1 à 5 puis une copie de ces valeurs dans les lignes 6 à 10. - ainsi de suite dans les colonnes 3 et 4. - pour la colone 5 dans les lignes 1 à 3 les 3 dernieres valeurs de la liste, rien dans les lignes 4 et 5 puis la copie des 3 valeurs dans le lignes 6 à 8 et rien dans les lignes 9 et 10. Ouf !! j'espère que ce n'est pas trop confus. J'ai fait un tri manuellement pour exemple, je peux éventuellement faire passer le fichier. Le top serait que la maro reconnaisse le nombre de valeurs à ranger de façon automatique. Merci à tous ceux qui auront au moins pris le temps de me lire j'usqu'au bout.
Si j'ai bien compris, avec tes 23 lignes exemples en colonne A, de A1 à A23 :
Sub Decoupe()
Dim DerLi As Long
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
j = 1
For i = 4 To DerLi Step 5
j = j + 1
Cells(6, j - 1).Resize(DerLi - i - 1).Cut Cells(1, j)
Next
Range("1:5").Copy Range("6:10")
End Sub
Si les données ne commencent pas en A1, il faudra adapter.
--
Gaenonius
Bonjour, et bonne anne a tous.
je vais essayer de vous exposer mon probleme le plus succintement possible.
J'ai un tableau de 1 colonne et X lignes ( c'est variable mais souvant + de
500)
pour faire simple disons 23 lignes.
je veux creer un nouveau fichier (ou une feuile) avec :
- dans la 1er colonne les 5 premieres valeurs dans les lignes 1 à 5 puis
une copie de ces 5 valeurs dans les lignes de 6 à 10
- dans la 2eme colonne les 5 valeurs suivantes dans les lignes 1 à 5
puis une copie de ces valeurs dans les lignes 6 à 10.
- ainsi de suite dans les colonnes 3 et 4.
- pour la colone 5 dans les lignes 1 à 3 les 3 dernieres valeurs de la
liste, rien dans les lignes 4 et 5 puis la copie des 3 valeurs dans le lignes
6 à 8 et rien dans les lignes 9 et 10.
Ouf !! j'espère que ce n'est pas trop confus.
J'ai fait un tri manuellement pour exemple, je peux éventuellement faire
passer le fichier.
Le top serait que la maro reconnaisse le nombre de valeurs à ranger de façon
automatique.
Merci à tous ceux qui auront au moins pris le temps de me lire j'usqu'au
bout.
Si j'ai bien compris, avec tes 23 lignes exemples en colonne A, de A1 à A23 :
Sub Decoupe() Dim DerLi As Long DerLi = Cells(Rows.Count, "A").End(xlUp).Row j = 1 For i = 4 To DerLi Step 5 j = j + 1 Cells(6, j - 1).Resize(DerLi - i - 1).Cut Cells(1, j) Next Range("1:5").Copy Range("6:10") End Sub
Si les données ne commencent pas en A1, il faudra adapter.
-- Gaenonius
Bonjour, et bonne anne a tous. je vais essayer de vous exposer mon probleme le plus succintement possible. J'ai un tableau de 1 colonne et X lignes ( c'est variable mais souvant + de 500) pour faire simple disons 23 lignes. je veux creer un nouveau fichier (ou une feuile) avec : - dans la 1er colonne les 5 premieres valeurs dans les lignes 1 à 5 puis une copie de ces 5 valeurs dans les lignes de 6 à 10 - dans la 2eme colonne les 5 valeurs suivantes dans les lignes 1 à 5 puis une copie de ces valeurs dans les lignes 6 à 10. - ainsi de suite dans les colonnes 3 et 4. - pour la colone 5 dans les lignes 1 à 3 les 3 dernieres valeurs de la liste, rien dans les lignes 4 et 5 puis la copie des 3 valeurs dans le lignes 6 à 8 et rien dans les lignes 9 et 10. Ouf !! j'espère que ce n'est pas trop confus. J'ai fait un tri manuellement pour exemple, je peux éventuellement faire passer le fichier. Le top serait que la maro reconnaisse le nombre de valeurs à ranger de façon automatique. Merci à tous ceux qui auront au moins pris le temps de me lire j'usqu'au bout.
hobywan
Merci d'avoir répondu aussi vite. La macro fonctionne a la perfection et je l'ai adaptée car en fait je fonctionne par lots de 24 lignes et non 5 comme dans mon exemple mais c'était pour faire court. Je ne maitrise pas le VBA mais j'ai réussi à adapter. Mon but est de formater un tableau Excel issu d'un soft pour générer des étiquettes vers une marqueuse spécifique. Si je peux abuser de ta patience, il faut que je perfectionne la macro de la façon suivante : Fichier brut : en A1 du texte de A2 à A n les données. Fichier rangé : A1 le texte de B2 à B25 on range de A2 à A25 de B26 à B49 on recopie B1 à B24 de B50 à B73 on range de A26 à A49 de B74 à B97 on recopie de B49 à B72 de B98 à B121 on range de A50 à A73 de B122 à B145 on recopie de B97 à B120 de B146 à B169 on range de A74 à A96 de B170 à B193 on recopie de B145 à B168 on continue de la même façon de A97 à A193 dans C1 à C193 jusqu'a la fin de la liste en A. enfin il faut un numéro chrono de 1 à x dans les entêtes de colonnes B1 à la dernière crée. Enfin, comment mémoriser la macro dans Excel pour pouvoir l'appliquer sur n'importe quel fichier?
Par contre, plutôt que de copier bêtement la macro et de l'utiliser, pour progresser, il faut que je comprenne comment ça marche. Si c'est possible de me mettre quelques commentaires Merci de la patience qui m'est accordée.
Si j'ai bien compris, avec tes 23 lignes exemples en colonne A, de A1 à A23 :
Sub Decoupe() Dim DerLi As Long DerLi = Cells(Rows.Count, "A").End(xlUp).Row j = 1 For i = 4 To DerLi Step 5 j = j + 1 Cells(6, j - 1).Resize(DerLi - i - 1).Cut Cells(1, j) Next Range("1:5").Copy Range("6:10") End Sub
Si les données ne commencent pas en A1, il faudra adapter.
-- Gaenonius
Bonjour, et bonne anne a tous. je vais essayer de vous exposer mon probleme le plus succintement possible. J'ai un tableau de 1 colonne et X lignes ( c'est variable mais souvant + de 500) pour faire simple disons 23 lignes. je veux creer un nouveau fichier (ou une feuile) avec : - dans la 1er colonne les 5 premieres valeurs dans les lignes 1 à 5 puis une copie de ces 5 valeurs dans les lignes de 6 à 10 - dans la 2eme colonne les 5 valeurs suivantes dans les lignes 1 à 5 puis une copie de ces valeurs dans les lignes 6 à 10. - ainsi de suite dans les colonnes 3 et 4. - pour la colone 5 dans les lignes 1 à 3 les 3 dernieres valeurs de la liste, rien dans les lignes 4 et 5 puis la copie des 3 valeurs dans le lignes 6 à 8 et rien dans les lignes 9 et 10. Ouf !! j'espère que ce n'est pas trop confus. J'ai fait un tri manuellement pour exemple, je peux éventuellement faire passer le fichier. Le top serait que la maro reconnaisse le nombre de valeurs à ranger de façon automatique. Merci à tous ceux qui auront au moins pris le temps de me lire j'usqu'au bout.
Merci d'avoir répondu aussi vite.
La macro fonctionne a la perfection et je l'ai adaptée car en fait je
fonctionne par lots de 24 lignes et non 5 comme dans mon exemple mais c'était
pour faire court.
Je ne maitrise pas le VBA mais j'ai réussi à adapter.
Mon but est de formater un tableau Excel issu d'un soft pour générer des
étiquettes vers une marqueuse spécifique.
Si je peux abuser de ta patience, il faut que je perfectionne la macro de la
façon suivante :
Fichier brut :
en A1 du texte
de A2 à A n les données.
Fichier rangé :
A1 le texte
de B2 à B25 on range de A2 à A25
de B26 à B49 on recopie B1 à B24
de B50 à B73 on range de A26 à A49
de B74 à B97 on recopie de B49 à B72
de B98 à B121 on range de A50 à A73
de B122 à B145 on recopie de B97 à B120
de B146 à B169 on range de A74 à A96
de B170 à B193 on recopie de B145 à B168
on continue de la même façon de A97 à A193 dans C1 à C193
jusqu'a la fin de la liste en A.
enfin il faut un numéro chrono de 1 à x dans les entêtes de colonnes B1 à
la dernière crée.
Enfin, comment mémoriser la macro dans Excel pour pouvoir l'appliquer sur
n'importe quel fichier?
Par contre, plutôt que de copier bêtement la macro et de l'utiliser, pour
progresser, il faut que je comprenne comment ça marche.
Si c'est possible de me mettre quelques commentaires
Merci de la patience qui m'est accordée.
Si j'ai bien compris, avec tes 23 lignes exemples en colonne A, de A1 à A23 :
Sub Decoupe()
Dim DerLi As Long
DerLi = Cells(Rows.Count, "A").End(xlUp).Row
j = 1
For i = 4 To DerLi Step 5
j = j + 1
Cells(6, j - 1).Resize(DerLi - i - 1).Cut Cells(1, j)
Next
Range("1:5").Copy Range("6:10")
End Sub
Si les données ne commencent pas en A1, il faudra adapter.
--
Gaenonius
Bonjour, et bonne anne a tous.
je vais essayer de vous exposer mon probleme le plus succintement possible.
J'ai un tableau de 1 colonne et X lignes ( c'est variable mais souvant + de
500)
pour faire simple disons 23 lignes.
je veux creer un nouveau fichier (ou une feuile) avec :
- dans la 1er colonne les 5 premieres valeurs dans les lignes 1 à 5 puis
une copie de ces 5 valeurs dans les lignes de 6 à 10
- dans la 2eme colonne les 5 valeurs suivantes dans les lignes 1 à 5
puis une copie de ces valeurs dans les lignes 6 à 10.
- ainsi de suite dans les colonnes 3 et 4.
- pour la colone 5 dans les lignes 1 à 3 les 3 dernieres valeurs de la
liste, rien dans les lignes 4 et 5 puis la copie des 3 valeurs dans le lignes
6 à 8 et rien dans les lignes 9 et 10.
Ouf !! j'espère que ce n'est pas trop confus.
J'ai fait un tri manuellement pour exemple, je peux éventuellement faire
passer le fichier.
Le top serait que la maro reconnaisse le nombre de valeurs à ranger de façon
automatique.
Merci à tous ceux qui auront au moins pris le temps de me lire j'usqu'au
bout.
Merci d'avoir répondu aussi vite. La macro fonctionne a la perfection et je l'ai adaptée car en fait je fonctionne par lots de 24 lignes et non 5 comme dans mon exemple mais c'était pour faire court. Je ne maitrise pas le VBA mais j'ai réussi à adapter. Mon but est de formater un tableau Excel issu d'un soft pour générer des étiquettes vers une marqueuse spécifique. Si je peux abuser de ta patience, il faut que je perfectionne la macro de la façon suivante : Fichier brut : en A1 du texte de A2 à A n les données. Fichier rangé : A1 le texte de B2 à B25 on range de A2 à A25 de B26 à B49 on recopie B1 à B24 de B50 à B73 on range de A26 à A49 de B74 à B97 on recopie de B49 à B72 de B98 à B121 on range de A50 à A73 de B122 à B145 on recopie de B97 à B120 de B146 à B169 on range de A74 à A96 de B170 à B193 on recopie de B145 à B168 on continue de la même façon de A97 à A193 dans C1 à C193 jusqu'a la fin de la liste en A. enfin il faut un numéro chrono de 1 à x dans les entêtes de colonnes B1 à la dernière crée. Enfin, comment mémoriser la macro dans Excel pour pouvoir l'appliquer sur n'importe quel fichier?
Par contre, plutôt que de copier bêtement la macro et de l'utiliser, pour progresser, il faut que je comprenne comment ça marche. Si c'est possible de me mettre quelques commentaires Merci de la patience qui m'est accordée.
Si j'ai bien compris, avec tes 23 lignes exemples en colonne A, de A1 à A23 :
Sub Decoupe() Dim DerLi As Long DerLi = Cells(Rows.Count, "A").End(xlUp).Row j = 1 For i = 4 To DerLi Step 5 j = j + 1 Cells(6, j - 1).Resize(DerLi - i - 1).Cut Cells(1, j) Next Range("1:5").Copy Range("6:10") End Sub
Si les données ne commencent pas en A1, il faudra adapter.
-- Gaenonius
Bonjour, et bonne anne a tous. je vais essayer de vous exposer mon probleme le plus succintement possible. J'ai un tableau de 1 colonne et X lignes ( c'est variable mais souvant + de 500) pour faire simple disons 23 lignes. je veux creer un nouveau fichier (ou une feuile) avec : - dans la 1er colonne les 5 premieres valeurs dans les lignes 1 à 5 puis une copie de ces 5 valeurs dans les lignes de 6 à 10 - dans la 2eme colonne les 5 valeurs suivantes dans les lignes 1 à 5 puis une copie de ces valeurs dans les lignes 6 à 10. - ainsi de suite dans les colonnes 3 et 4. - pour la colone 5 dans les lignes 1 à 3 les 3 dernieres valeurs de la liste, rien dans les lignes 4 et 5 puis la copie des 3 valeurs dans le lignes 6 à 8 et rien dans les lignes 9 et 10. Ouf !! j'espère que ce n'est pas trop confus. J'ai fait un tri manuellement pour exemple, je peux éventuellement faire passer le fichier. Le top serait que la maro reconnaisse le nombre de valeurs à ranger de façon automatique. Merci à tous ceux qui auront au moins pris le temps de me lire j'usqu'au bout.