Répétition de macro sur chaque ligne
celvire4
Messages postés
14
Statut
Membre
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je ne maîtrise pas du tout les macros, et pourtant c'est bien cela qu'il me faut pour résoudre mon problème.
J'ai un fichier avec 16 colonnes et 2111 lignes. Je dois travailler chaque ligne de la façon suivante :
Ligne 1, j'insère 11 lignes en dessous, je copie les cellules F1 à P1, je transpose en E2 et supprime F1 à P1
Voilà la macro qui me permet de faire cette manipulation 1 fois :
Sub Transpo()
'
' Transpo Macro
'
'
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("F1:P1").Select
Selection.Copy
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("F1:P1").Select
Application.CutCopyMode = False
Selection.ClearContents
End Sub
Je voudrais donc appliquer cette macro sur l'ensemble des 2111 lignes.
Et là mes compétences ne me le permettent pas pour le moment.
Merci pour vos réponses.
Je ne maîtrise pas du tout les macros, et pourtant c'est bien cela qu'il me faut pour résoudre mon problème.
J'ai un fichier avec 16 colonnes et 2111 lignes. Je dois travailler chaque ligne de la façon suivante :
Ligne 1, j'insère 11 lignes en dessous, je copie les cellules F1 à P1, je transpose en E2 et supprime F1 à P1
Voilà la macro qui me permet de faire cette manipulation 1 fois :
Sub Transpo()
'
' Transpo Macro
'
'
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("F1:P1").Select
Selection.Copy
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("F1:P1").Select
Application.CutCopyMode = False
Selection.ClearContents
End Sub
Je voudrais donc appliquer cette macro sur l'ensemble des 2111 lignes.
Et là mes compétences ne me le permettent pas pour le moment.
Merci pour vos réponses.
A voir également:
- Répétition de macro sur chaque ligne
- Partage de photos en ligne - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formulaire en ligne de meta - Guide
- Mètre en ligne - Guide
- Apparaitre hors ligne instagram - Guide
2 réponses
Bonjour
Dans ta macro, où insères tu ces 11 lignes ?
doit 'on répéter cette insertion de 11 lignes 2111 fois soit znv. un tableau de 16*12*2111 soit env.405300 cellules...
Et que veux tu copier après avoir supprimé F1:P1 ? F12:P12 ?
Bon, suis peut-^tre mal réveillé mais...
Dans ta macro, où insères tu ces 11 lignes ?
doit 'on répéter cette insertion de 11 lignes 2111 fois soit znv. un tableau de 16*12*2111 soit env.405300 cellules...
Et que veux tu copier après avoir supprimé F1:P1 ? F12:P12 ?
Bon, suis peut-^tre mal réveillé mais...
Bonjour Michel,
J'insère les 11 lignes sous la ligne 1 (ce qui correspond au delta entre F et P) et transpose ensuite pour que les cellules F1 à P1 deviennent E2 à E13.
Et cette insertion se répète 2111*11 lignes soit 23 221 lignes à la fin.
Le tableau final comportera 23 221 lignes * 5 colonnes soit 116 105 cellules.
Voici la "bonne" macro :
Sub Transpo()
'
' Transpo Macro
'
'
Rows("2:12").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("F1:P1").Select
Selection.Copy
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("F1:P1").Select
Application.CutCopyMode = False
Selection.ClearContents
End Sub
Je voudrais renouveler cette opération en dessous de la ligne (non plus 2 car "Ligne 1"+11 Lignes = "Ligne 13") 13 et ainsi de suite...
https://www.cjoint.com/?3ColQAuLRUU voici un visu du tableau.
Je ne sais pas si cette explication est plus claire ?
Merci
J'insère les 11 lignes sous la ligne 1 (ce qui correspond au delta entre F et P) et transpose ensuite pour que les cellules F1 à P1 deviennent E2 à E13.
Et cette insertion se répète 2111*11 lignes soit 23 221 lignes à la fin.
Le tableau final comportera 23 221 lignes * 5 colonnes soit 116 105 cellules.
Voici la "bonne" macro :
Sub Transpo()
'
' Transpo Macro
'
'
Rows("2:12").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("F1:P1").Select
Selection.Copy
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("F1:P1").Select
Application.CutCopyMode = False
Selection.ClearContents
End Sub
Je voudrais renouveler cette opération en dessous de la ligne (non plus 2 car "Ligne 1"+11 Lignes = "Ligne 13") 13 et ainsi de suite...
https://www.cjoint.com/?3ColQAuLRUU voici un visu du tableau.
Je ne sais pas si cette explication est plus claire ?
Merci
Merci, merci !
J'ai extrait une toute petite partie du fichier sans modifications. Et oui, dans ma première opération, il y avait des données dans F1:P1.
https://www.cjoint.com/?3CorXpxQT3o
J'ai extrait une toute petite partie du fichier sans modifications. Et oui, dans ma première opération, il y avait des données dans F1:P1.
https://www.cjoint.com/?3CorXpxQT3o