Selectionner toutes les feuilles sauf ...

T

Tiger

Guest
Bonjour le forum,

Je préfère vous expliquez via un exemple :

Classeur : feuille1 ; feuille2 ; feuille3 ; feuille4 ...

Je cherche à conserver uniquement les feuilles 1, 2 et 3 et supprimer toutes les autres via une macro - en sachant que le nombre totel de feuille est aléatoire.

Je sais selectionner une ou plusieurs feuilles mais 'sélectionner toutes sauf...' alors là
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

Je n'arrive pas à poster le code alors regarde le fichier joint [file name=Classeur1_20051228132702.zip size=7549]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20051228132702.zip[/file]
 

Pièces jointes

  • Classeur1_20051228132702.zip
    7.4 KB · Affichages: 65
J

JC de Lorient

Guest
salut

un bout de code qui devrait faire l'affaire

Sub suppress()
Application.DisplayAlerts = False
Dim x As Byte
For x = 4 To Sheets.Count
Sheets(4).Delete
Next
Application.DisplayAlerts = True
End Sub


JC
 
B

Blunet

Guest
Salut Tiger, JC de Lorient,

simple code et efficace, mais j'ai pensé à nommer les variables, donc en caa de suppresion ou d'augmentation d'une ou ++ feuilles dans le classeur le code marche toujours.
Par contre les indices fixés de 4 à sheets.counts vont bouger et les feuilles supprimées ne seront pas celles attendues.

Sub DetruireFeuille()
Application.DisplayAlerts = False
For i = 1 To Sheets.Count - 1
If Not ((Sheets(i).Name = 'Feuille 1') Or (Sheets(i).Name = 'Feuille 2')) Then
Sheets(i).Delete
End If
Next i
Application.DisplayAlerts = False
End Sub

A+
 

ChTi160

XLDnaute Barbatruc
Salut Tiger
Bonjour Pascal,JC,Blunet
arff j'ai eu des problèmes pour joindre du code Lol
donc je fais comme Pascal un fichier qui reprend trois méthodes via Index des Feuilles
via les Noms et aussi suppression de la possibilité de supprimer les feuilles considérées via le clic Droit sur onglet
pour ce qui est de la Macro de JC je pense qu'il faut lire Sheets(x).Delete
bonne fin de Journée [file name=Supprime_Feuilles.zip size=17197]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Supprime_Feuilles.zip[/file]
 

Pièces jointes

  • Supprime_Feuilles.zip
    16.8 KB · Affichages: 54
T

Tiger

Guest
Merci à tous,

Je vous explique ce que je tente de faire :

Fait :

- liaison à un log de gestion via ODBC
- passerelle via query avec excel

A partir de là, j'ai récupéré toutes les infos de bon de commande, bon de livraison, facture et avoir.

J'ai inclus un tri sur la date par une requête Query.

J'ai inséré un calendrier sous excel pour le choix de la date de début et pour le choix de la date de fin.

Je trie de manière auto les données et envoie le tout sur un TC avec un filtre sur le nom du commercial.

J'éclate le TC avec une feuille par commercial. (c'est pour cela que je cherché à supprimer les feuilles, pour pouvoir le rééclater à chaque changement de date)

A faire :

Il faut que j'arrive à envoyer à chaque commercial sa propre feuille (je rappelle qu'ils ont maintenant chacun leur récapitulatif) :

- par mail pour certain (à automatiser)
- par courrier pour d'autre (automatiser l'impression)

Si vous avez des idées pour les 2 derniers points, je suis preneur ;-)

Au fait, but de tout cela : sauver environ 300 pages par semaine (ça fait combien d'arbres par an ?)

Merci à tous
 
T

Tiger

Guest
Toujours dans le même système de selection de feuille, en affichant toutes les pages de mon TC, je n'ai pas forcement toujours le même nombre de page

ex :
- Semaine1 : FeuilBdd ; FeuilTableau ; FeuilFranck ; FeuilMarie ; FeuilRobert


1/ Je souhaite ajouter des infos communes et une mise en forme commune sur les feuilles de type FeuilPRENOM uniquement

2/ Le problème est que les prénoms ne seront pas toujours les mêmes

ex :
- Semaine2 : FeuilBdd ; FeuilTableau ; FeuilFranck ; FeuilXavier ; FeuilCeline

J'en demande peut-être un petit peu trop non ?
En tout cas, d'avance merci
 
C

Chti160

Guest
Salut Tiger
Arfffff moi pas un expert
pour ce qui est de l'envoie par mail et par courrier, tu devrais trouver ton bonheur en recherchant sur le Forum rubrique RECHERCHER

pour ce qui est des feuilles je ne comprends pas tout Lol
dans les macro proposées toutes prennent en compte le nombre de feuille quelqu'il soit
Sheets.count
pour ce qui est du nom des feuilles tu est obligé de les Nommer FeuilRobert pourquoi pas Robert direct
sinon tu peux via une macro ne récupérer que la partie prénom si toutes les feuilles commencent par Feuil une boucle et
Code:
Prénom = Mid (Sheet.Name, 6,  Len (Sheet.Name))
tiens nous au courant par des exemples quelque chose,un fichier Joint
Bonne fin de Soirée
 
T

Tiger

Guest
Merci Chti160,

J'ai trouvé un code (pas croyable)

--------------------
Application.DisplayAlerts = False
For Each ws In Worksheets
If ws.Name = 'robert' Then Sheets('robert').Select: Application.Run 'MEP'
Next

Application.DisplayAlerts = False
For Each ws In Worksheets
If ws.Name = 'Franck' Then Sheets('Franck').Select: Application.Run 'MEP'
Next

... par le nbre de prénom possible

End Sub

avec la macro 'MEP' qui correspond à la mise en page

----------------

Seul faille au système, si un nouveau commercial arrive, il faut modifier le code

Il y aurait peut-être moyen, à l'inverse de préciser de ne pas lancer la macro sur les feuilles xxx et de les lancer sur toutes les autres ?
 

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 535
dernier inscrit
moimeme1