Supprimer quelques lignes relativement
Résolu
Pascal85
Messages postés
9
Statut
Membre
-
Pascal85 Messages postés 9 Statut Membre -
Pascal85 Messages postés 9 Statut Membre -
Bonjour,
Voici mon problème :
J'utilise Excel 2003, et je souhaite créer une macro qui permette de supprimer des lignes sur toutes les feuilles d'un classeur, ces lignes étant comprises entre la position du curseur sur chaque feuille (position qui peut varier d'une feuille à l'autre), et la dernière cellule d'une plage située au-dessus du curseur.
Voici une feuille avec la position de départ
Après traitement (suppression de toutes lignes sauf une) , voici le résultat que j'aurais aimé voir :
Je sais positionner le curseur dans la cellule "position du curseur" sur toutes les feuilles, et j'ai tenté d'enregistrer une macro relative, mais elle m'indique toujours le même nombre de lignes, en absolu. Et cela génère des erreurs sur certaines feuilles, où de bonnes lignes sont malheureusement effacées du coup.
On y voit effectivement qu'à cette ligne :
ActiveCell.Offset(-30, 0).Range("A1:A31").Select
il y a le nombre 30 qui ne fonctionnera que sur quelques feuilles, dû au rangeA1:A31.
Y a-t-il moyen de procéder autrement?
Voici mon problème :
J'utilise Excel 2003, et je souhaite créer une macro qui permette de supprimer des lignes sur toutes les feuilles d'un classeur, ces lignes étant comprises entre la position du curseur sur chaque feuille (position qui peut varier d'une feuille à l'autre), et la dernière cellule d'une plage située au-dessus du curseur.
Voici une feuille avec la position de départ

Après traitement (suppression de toutes lignes sauf une) , voici le résultat que j'aurais aimé voir :

Je sais positionner le curseur dans la cellule "position du curseur" sur toutes les feuilles, et j'ai tenté d'enregistrer une macro relative, mais elle m'indique toujours le même nombre de lignes, en absolu. Et cela génère des erreurs sur certaines feuilles, où de bonnes lignes sont malheureusement effacées du coup.
For Each f In Worksheets
f.Select False
Next
ActiveCell.Offset(-2, 0).Range("A1").Select
Selection.End(xlUp).Select
Range(Selection, Selection.End(xlUp)).Select
ActiveCell.Offset(-30, 0).Range("A1:A31").Select
ActiveCell.Activate
End Sub
On y voit effectivement qu'à cette ligne :
ActiveCell.Offset(-30, 0).Range("A1:A31").Select
il y a le nombre 30 qui ne fonctionnera que sur quelques feuilles, dû au rangeA1:A31.
Y a-t-il moyen de procéder autrement?
A voir également:
- Supprimer quelques lignes relativement
- Supprimer rond bleu whatsapp - Guide
- Supprimer page word - Guide
- Supprimer pub youtube - Accueil - Streaming
- Fichier impossible à supprimer - Guide
- Supprimer compte instagram - Guide