Macro: sélectionner tous les onglets entre 2 bornes
Résolu
Frantoc37
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
Theo.R Messages postés 575 Date d'inscription Statut Membre Dernière intervention -
Theo.R Messages postés 575 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un fichier excel avec 2 onglets intitulés "Borne 1" et "borne 2".
Je voudrais créer une macro qui sélectionne tous les onglets (quelque soit leur nombre) entre ces deux borne, afin de les supprimer.
Quelqu'un peut-il m'aider ?
Merci :-)
J'ai un fichier excel avec 2 onglets intitulés "Borne 1" et "borne 2".
Je voudrais créer une macro qui sélectionne tous les onglets (quelque soit leur nombre) entre ces deux borne, afin de les supprimer.
Quelqu'un peut-il m'aider ?
Merci :-)
A voir également:
- Selectionner toutes les feuilles d'un classeur excel vba
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
3 réponses
Bonjour,
Pour cela, il faut procéder non pas par nom de l'onglet mais par son positionnement.
Dans le code que je vous propose, "Borne 1" est le 1er onglet et "Borne 2" le 9ème onglet. il suffit de changer les variable a et b pour coller à votre document (a = n° "borne 1" + 1 ; b = n° "borne 2" - 1).
Pour cela, il faut procéder non pas par nom de l'onglet mais par son positionnement.
Dans le code que je vous propose, "Borne 1" est le 1er onglet et "Borne 2" le 9ème onglet. il suffit de changer les variable a et b pour coller à votre document (a = n° "borne 1" + 1 ; b = n° "borne 2" - 1).
Sub test()
a = 2
b = 8
For i = b to a step -1
sheets(i).select
ActiveWindow.SelectedSheets.Delete
Next i
End sub
Merci Théo d'avoir répondu si rapidement.
Je viens de tester votre macro, et elle fonctionne très bien...
.. mais...
Le nombre d'onglets qui viennent se ranger entre borne 1 et borne 2. changent régulièrement. (Certains jours j'ai 15 onglets à traiter, d'autres 25...) La position "numérique" de borne 2 n'est donc pas toujours la même... Je ne peux donc pas toujours lui attribuer la place "9".
La macro que je voudrais mettre en oeuvre supprimera tous les onglets contenus entre borne 1 et 2 pour ensuite importer d'autres onglets à traiter.
PS: Borne 1 est fixe (donc pas de problème pour cet onglet...)
Je viens de tester votre macro, et elle fonctionne très bien...
.. mais...
Le nombre d'onglets qui viennent se ranger entre borne 1 et borne 2. changent régulièrement. (Certains jours j'ai 15 onglets à traiter, d'autres 25...) La position "numérique" de borne 2 n'est donc pas toujours la même... Je ne peux donc pas toujours lui attribuer la place "9".
La macro que je voudrais mettre en oeuvre supprimera tous les onglets contenus entre borne 1 et 2 pour ensuite importer d'autres onglets à traiter.
PS: Borne 1 est fixe (donc pas de problème pour cet onglet...)
le code suivant devrait fonctionner, il faut simplement bien nommer les onglets de référence respectivement "Borne 1" et "Borne 2" (ne pas oublier l'espace).
Sub test()
Sheets("Borne 1").select
a = ThisWorkbook.Worksheets.Count
Sheets("Borne 2").select
b = ThisWorkbook.Worksheets.Count
For i = b to a step -1
sheets(i).select
ActiveWindow.SelectedSheets.Delete
Next i
End sub