Déplacer des feuilles selon leurs Numéros...

Kiriko

XLDnaute Occasionnel
Bonjour à tous,

Je cherche un bout de code qui déplacerait toutes les feuilles d'un classeur à partir de la Feuil23 jusqu'à la dernière feuille, quel que soit le nombre de feuilles restantes, dans un nouveau classeur... Pour info, ce sont des feuilles très "lourdes" (visuels avec quantité de fusions de cellules), il peut y en avoir de 1 à 20 (c'est rare quand même les 20)...

Merci par avance !!

Je ne sait pas s'il est plus simple de déplacer les dites feuilles, ou alors de les recopier puis de supprimer les originales... J'ai cru comprendre qu'il pouvait y avoir des soucis avec "Move" ??
 

Papou-net

XLDnaute Barbatruc
Re : Déplacer des feuilles selon leurs Numéros...

Bonsoir Kiriko,

Essaie avec une boucle qui copie directement les feuilles dans un nouveau classeur, par exemple :

Code:
Sub CopieFeuilles()
Dim Feuilles() As String
Dim sh As Integer, n As Integer

For n = 23 To Sheets.Count - 1
  ReDim Preserve Feuilles(sh)
  Feuilles(sh) = Sheets(n).Name
  sh = sh + 1
Next
Sheets(Feuilles).Copy
End Sub
Mais attention, les feuilles à recopier seront impérativement placées après la vingt-deuxième, sinon il faudrait prévoir un test sur leur nom.

Cordialement.
 

Kiriko

XLDnaute Occasionnel
Re : Déplacer des feuilles selon leurs Numéros...

Bonjour Papou-net !!
Merci de ton aide.
Je n'y comprends rien, mon fichier doit avoir un soucis autre... Ton code ne me copie pas du tout les bonnes feuilles (les 11, 20, 22, et 7 !!!).
Pour complément d'info, toutes les feuilles à déplacer se nomment toutes sous la forme ""dddd dd mmm yyyy"" (et aucune autre a le même format de nom), ce sont bien les Feuil23 et suivantes (sans "trou"), et aucune de celles-ci ne sont protégées ni masquées. Par contre, d'autres feuilles sont elles masquées et/ou protégées, et les Feuil4, 12 et 15 "n'existent" pas...
Bizarre....
 

Papou-net

XLDnaute Barbatruc
Re : Déplacer des feuilles selon leurs Numéros...

Bonjour kiriko,

Sans avoir la structure de ton classeur sous les yeux, il m'est difficile d'être plus précis.

Je te propose donc d'envoyer une copie de ton fichier. Tu peux effacer le contenu des feuilles pour alléger le poids, seuls le nom des onglets et leur positionnement sont importants.

A te lire.

Cordialement.
 

Kiriko

XLDnaute Occasionnel
Re : Déplacer des feuilles selon leurs Numéros...

Bonjour Papou-net,
Les codes utilisés dans le fichier en question ont été fournis par mapomme il y a quelques mois (encore un grand merci à lui, ainsi qu'à BrunoM45) ici :
Lien supprimé
Sur un fichier isolé, cela fonctionne sans problème... Par contre, sur mon usine à gaz, impossible de déplacer ou copier des feuilles au bout d'un certain nombre de feuilles ajoutées par macro...(seulement dans certains cas sans comprendre la raison)
N'arrivant pas à reproduire le problème, j'ai contourner le soucis en faisant exécuter la macro sur un nouveau classeur que j'ouvre dès le début, plutôt qu'à la fin... et cela fonctionne, pas besoin de rajouter x onglets à mon fichier qui en a déjà 22 !!
Le temps d'éxécution reste cependant assez long (j'ai quelquefois jusqu'à 3000 lignes à traiter, pour jusqu'à 25 onglets créés), mais ça marche assez bien...

Merci encore de ton intérêt et de ton aide !!
Si d'aventure ces codes de mapomme te parles et que tu as une idée pour potentiellement accélérer la chose (utilisation de Tcd??), n'hésites pas, ici ou sur le fil initial :
https://www.excel-downloads.com/threads/creations-visuels.183926/

Cordialement,
 

Discussions similaires

Statistiques des forums

Discussions
312 164
Messages
2 085 872
Membres
103 007
dernier inscrit
salma_hayek