Répéter même opération sur plusieurs feuilles

Bonjour,

j'ai jeté un oeil ici : https://forum.excel-pratique.com/viewtopic.php?t=15273

ce qui ne me permet pas de faire la même chose, hélas. Mais c'est proche, disons.

Sur ma centaine de feuilles, de la 4ème incluse à la dernière, j'ai positionné le curseur à différents endroits, parfois en sélectionnant même plusieurs lignes.

Je voudrais supprimer d'un coup toutes ces lignes (mais les feuilles n'ont pas exactement la même structure).

Jusqu'à présent, je faisais :

sur la feuille 4 : Edition --> Supprimer... --> Lignes entières

CTRL + Pg.Suiv (pour arriver en Feuille 5)

CTRL + Y (pour répéter l'action)

CTRL + Pg.Suiv

CTRL + Y

etc.

Est-ce qu'il y a une macro qui pourrait combiner ces deux contrôles successifs (Page suivante + Répéter) en choisissant le nombre de pages (ou bien à partir de la feuille 4 jusqu'à la dernière feuille) ?

J'ai fait une tentative ainsi :

Sub RepeteActions()

'

' RepeteActions Macro

' Macro enregistrée le 17/04/2018 par utilisateur

'

'

Selection.EntireRow.Delete

ActiveSheet.Next.Select

ActiveSheet.Next.Select

ActiveSheet.Next.Select

End Sub

Si j'ai bien pigé, je devrais écrire " ActiveSheet.Next.Select" autant de fois que j'ai de feuilles, cela marcherait-il?

EDIT :

Erreur corrigée, il fallait que les lignes de la macro soient ainsi :

Selection.EntireRow.Delete

ActiveSheet.Next.Select

Selection.EntireRow.Delete

ActiveSheet.Next.Select

Selection.EntireRow.Delete

ActiveSheet.Next.Select

Selection.EntireRow.Delete

ActiveSheet.Next.Select

et ça marche apparemment.

EDIT2

Oui, ça va.

Mais il me faut un petit plus, que je ne trouve pas.

J'aimerais qu'après chaque action de suppression, le curseur se déplace vers la droite (comme si on appuyait sur la flèche de droite du clavier).

C'est un déplacement relatif, et non pas absolu.

J'avais recommencé ma macro ainsi, en appuyant sur la touche "Flèche droite" après chaque suppression de lignes :

Selection.EntireRow.Delete

Range("D33").Select

ActiveSheet.Next.Select

Selection.EntireRow.Delete

Range("D35").Select

ActiveSheet.Next.Select

Selection.EntireRow.Delete

Range("AJ47").Select

mais comme vous le voyez, le fait d'appuyer sur la touche "Flèche de droite" positionne le curseur un peu n'importe où, en focntion des actions opérées.

Y a-t-il une macro "Appui sur la flèche" ?

Bonjour,

En utilisant ce code à adapter à tes besoins, si ça te convient :

Dim fl As Worksheet
For Each fl In Worksheets
  If fl.Name <> "Récap" And fl.Name <> "Paramètres" Then'attention aux noms de feuilles avec accent
  'ton code
  End If
Next fl

Bonne journée

Bonjour,

tu peux faire une sélection 3D.

Sélectionner la 1ère feuille, Shift+clic sur la dernière.

Tout ce que tu feras sera exécuté sur toutes les feuilles sélectionnées.

Ne pas oublier de défaire ta sélection 3D dès que tu as fini...

eric

Bonjour Minus87,

merci pour ton code (je n'ai pas tout compris, j'ai collé ça dans une macro, mais ça n'a pas fonctionné comme voulu. Pas grave).

Bonjour Erilic,

pas bête le coup de la sélection 3D, j'y repenserai.

En l'occurence hélas, le résultat fait que mon curseur se retrouve mal placé dans plein de feuilles. Pas grave non plus.

En fait, j'ai finalement trouvé (merci Google), il fallait que j'insère la ligne

ActiveCell.Offset(0, 1).Select

pour déplacer le curseur d'uen cellule vers la droite.

J'ai donc ma macro définitive :

Selection.EntireRow.Delete

ActiveCell.Offset(0, 1).Select

ActiveSheet.Next.Select

En copiant/collant ces trois lignes autant de fois ('une centaine) que nécessaire dans ma macro, ça marche très bien.

Rechercher des sujets similaires à "repeter meme operation feuilles"