Copier/inserer/coller une ligne dans tableau
Résolu
mpg_Lartiste
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai vraiment besoin d'aide, mon problème est le suivant : J'ai un tableau excel filtrer donc les numéros de lignes ne se suivent pas forcément, dans ce qui me reste de lignes une fois le filtre activé, j'ai besoin de copier la 1ere ligne puis de l'insérer 4 fois en dessous de celle ci, puis de passer à la suivante et faire de même jusqu'a être arrivé à la ligne ou il n'y a plus de données. En sachant que dans certaines cellules d'une ligne, il y a des formules que je dois conserver.
merci de votre aide.
J'ai vraiment besoin d'aide, mon problème est le suivant : J'ai un tableau excel filtrer donc les numéros de lignes ne se suivent pas forcément, dans ce qui me reste de lignes une fois le filtre activé, j'ai besoin de copier la 1ere ligne puis de l'insérer 4 fois en dessous de celle ci, puis de passer à la suivante et faire de même jusqu'a être arrivé à la ligne ou il n'y a plus de données. En sachant que dans certaines cellules d'une ligne, il y a des formules que je dois conserver.
merci de votre aide.
Configuration: Windows XP Firefox 2.0.0.9
5 réponses
-
Bonjour,
Donc tu dois te retrouver avec 5 lignes identiques pour toutes les lignes sélectionnées, c'est bien ça ?
Explique un peu plus ton histoire de formules stp. Car si on copie/insère valeurs et formules sont conservées.
eric-
Bonjour
eSSAIE cette macro a adapter
Sub filtre()
For Each f In [a2:a30] 'sélection sous le titre et sous le filtre
f.Select
If ActiveCell.EntireRow.Hidden <> True Then
R = ActiveCell.Row
Rows("" & R & ":" & R & "").Select
Selection.Cut
R2 = ActiveCell.Row - 4
Rows("" & R2 & ":" & R2 & "").Select
ActiveSheet.Paste
Else
f.Select
End If
Next
End Sub
-
-
Bonjour,
je développe un peu plus : j'ai un peu plus de 8000 lignes, que je filtre selon un paramètre, une fois ceci fait, il me faut 5 fois chaque lignes à la suite, donc il faut que j'insère 4 fois la première ligne, puis que je passe à la seconde (qui se trouve donc à la 6ème position) et ainsi de suite. Pour le moment je fais ça à la souris, clic droit sur le numéro de ligne, copier, re clic droit, insérer et coller. J'aimerai automatiser tout ça histoire de gagner du temps et de l'energie, car c'est légerement fastidieux à faire. Dans mes lignes certaines cases vont chercher des infos sur d'autres pages. lorsque je rentre un numéro dans une case, les autres se remplissent toutes seules en allant chercher les infos, ce sont ces formules qu'il faut que je conserve lors de l'insertion d'une ligne.
j'espère avoir été clair,
merci de votre aide. -
Re,
Je pzense que ceci convient mais regarde au niveau de tes formules si les références relatives/absolues correspondent tjs à ce que tu veux. Pense à activer le filtre avant de lancer la macro, si tu veux on pourra rajouter une boite de dialogue pour te le rappelerSub Duplique() Dim cel As Range, lig As Long, i As Long Application.ScreenUpdating = False lig = [A65536].End(xlUp).Row Do Until lig = 1 If Rows(lig).Hidden = False Then For i = 1 To 4 Rows(lig).Select Rows(lig).Copy Selection.Insert Shift:=xlDown Next i End If lig = lig - 1 Loop Application.CutCopyMode = False Application.ScreenUpdating = True End Sub
eric -
merci beaucoup !!!
c'est parfait ! c'est exactement ça que je cherchais à faire. Merci eric pour ta solution ! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ok. N'oublie pas qu'il n'y a pas de undo lorsque l'on travaille avec une macro...
Bonne soirée