Macro: sélectionner tous les onglets entre 2 bornes
Résolu/Fermé
Frantoc37
Messages postés
17
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
21 février 2016
-
8 févr. 2016 à 13:33
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 - 15 févr. 2016 à 09:51
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 - 15 févr. 2016 à 09:51
A voir également:
- Selectionner toutes les feuilles d'un classeur excel vba
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro logiciel - Télécharger - Organisation
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
3 réponses
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
8 févr. 2016 à 13:47
8 févr. 2016 à 13:47
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
Frantoc37
Messages postés
17
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
21 février 2016
8 févr. 2016 à 14:28
8 févr. 2016 à 14:28
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...)
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
8 févr. 2016 à 16:28
8 févr. 2016 à 16:28
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
Frantoc37
Messages postés
17
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
21 février 2016
>
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
8 févr. 2016 à 22:58
8 févr. 2016 à 22:58
Bonsoir Théo
Hélas non, ça ne fonctionne pas... La macro que tu proposes supprime chaque onglet en commençant pas le dernier...
J'ai essayé ta macro dans tous les sens, en essayant de comprendre comment la modifier, mais mes connaissances en programmation VBA sont insuffisantes... :-(
Hélas non, ça ne fonctionne pas... La macro que tu proposes supprime chaque onglet en commençant pas le dernier...
J'ai essayé ta macro dans tous les sens, en essayant de comprendre comment la modifier, mais mes connaissances en programmation VBA sont insuffisantes... :-(
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
>
Frantoc37
Messages postés
17
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
21 février 2016
9 févr. 2016 à 15:59
9 févr. 2016 à 15:59
Désolé j'avais répondu ce matin mais mon internet a dû planter car je vois que ma réponse n'a pas été publiée..
Bref, ma macro doit supprimer les onglets entre tes bornes et les bornes elles-mêmes.
Si ce n'est pas le cas, est-il possible d'avoir un document via www.cjoint.com svp ?
Bien à vous,
Bref, ma macro doit supprimer les onglets entre tes bornes et les bornes elles-mêmes.
Si ce n'est pas le cas, est-il possible d'avoir un document via www.cjoint.com svp ?
Bien à vous,
Frantoc37
Messages postés
17
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
21 février 2016
9 févr. 2016 à 17:55
9 févr. 2016 à 17:55
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
>
Frantoc37
Messages postés
17
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
21 février 2016
9 févr. 2016 à 17:58
9 févr. 2016 à 17:58
Le document n'est pas accessible (cest bien la 1ère fois que je vois cjoint.com bugguer..)
Possible de ré-essayer svp ;) ?
Possible de ré-essayer svp ;) ?
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
Modifié par Theo.R le 10/02/2016 à 16:49
Modifié par Theo.R le 10/02/2016 à 16:49
Bon en fait mon code n'était pas bon, désolé je nous ai fait perdre du temps
Le bon code :
Le bon code :
Sub test()
Application.DisplayAlerts = False
Sheets("Borne 1").Select
ActiveSheet.Next.Select
While ActiveSheet.Name <> "Borne 2"
ActiveWindow.SelectedSheets.Delete
Wend
Application.DisplayAlerts = True
End Sub
Frantoc37
Messages postés
17
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
21 février 2016
12 févr. 2016 à 20:10
12 févr. 2016 à 20:10
Super Théo,
Cette macro fonctionne à merveille.
Merci beaucoup pour votre persévérance ! (et désolé de vous répondre 2 jours après, je n'avais pas vu votre message)
Très bonne soirée. :-)
François
Cette macro fonctionne à merveille.
Merci beaucoup pour votre persévérance ! (et désolé de vous répondre 2 jours après, je n'avais pas vu votre message)
Très bonne soirée. :-)
François
Theo.R
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
31
>
Frantoc37
Messages postés
17
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
21 février 2016
15 févr. 2016 à 09:51
15 févr. 2016 à 09:51
Pas de souci, ravi d'avoir pu rendre service ;)
Bonne continuation
Bonne continuation