XL 2013 Copier avec mise en forme conditionnelle

sr94

XLDnaute Occasionnel
Bonjour

Je suis toujours sur le même fichier, avec ma macro qui me permet de scinder mon classeur en plusieurs.
Je ne peux pas mettre de pièce jointe, la fichier est trop lourd.

Cette macro permet de copier les données filtrées dans une feuille temporaire, la copie ne prend pas en compte les mises en forme conditionnelles et les formules, est ce possible de modifier le code en dessous pour qu'il les prenne en compte ?

Code:
For Each c In Range("AJ5", Range("AJ100").End(xlUp))

PlageExtract = c
Sheets.Add
Data.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Production_Schedule").[AJ4:AJ5], CopyToRange:=[A1], Unique:=False
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$AC$2000"), , xlYes).Name = "tab_Production_Schedule"

Merci
 
Dernière édition:

sr94

XLDnaute Occasionnel
Re : Copier avec mise en forme conditionnelle

désolée j'avais regardé sur le mauvais fichier ... mais je ne comprends pas ce que ça change.
j'ai certaines colonnes qui contiennent des quantités dont on peut avoir besoin de la somme. Dans les colonnes qui ne sont pas des nombres je ne sélectionne rien dans le total parmis les choix proposés par Excel
 

job75

XLDnaute Barbatruc
Re : Copier avec mise en forme conditionnelle

Re,

mais je ne comprends pas ce que ça change.

Bah ça ne change rien... Sauf que dans votre fichier (post #35) il n'y avait pas de formules en D7 et AF7 :rolleyes:

Et qu'il y avait des formats erronés dans certaines cellules...

Maintenant un complément avec la barre d'état pour faire patienter sur votre gros fichier :

Code:
'---
dc = d.Count: h = Now
Application.StatusBar = "0 fichier créé sur " & dc & " temps écoulé 00:00:00"
If dc = 0 Then GoTo 1
'---
  nf = nf + 1
  Application.StatusBar = nf & " fichiers créés sur " & dc & " temps écoulé " & Format(Now - h, "hh:mm:ss")
Next e
MsgBox nf & " fichiers créés, temps écoulé " & Format(Now - h, "hh:mm:ss") 'facultatif
'---réouverture différée du fichier---
'---
Fichier (3).

A+
 

Pièces jointes

  • fichier test(3).xlsm
    32.8 KB · Affichages: 34
Dernière édition:

sr94

XLDnaute Occasionnel
Re : Copier avec mise en forme conditionnelle

Bonjour

En fait mon fichier d'origine était devenu beaucoup trop lourd (6 heures pour exécuter la macro mardi dernier), cette semaine je l'ai donc refait entièrement, sauf quelques détails comme les totaux qui n'ont pas encore été remis.

Il faut maintenant 1 minute et 15 secondes pour exécuter la macro.

Je vais rajouter le code que vous m'avez donné.

Merci
 

sr94

XLDnaute Occasionnel
Re : Copier avec mise en forme conditionnelle

Voilà le vrai fichier

précision : les informations (des colonne rouges) viennent d'une base ODBC que je recupère via access dans la feuille Cdes à ajouter. De même les lignes à supprimer sont récupérées dans Cdes à supprimer.
La colonne MAJ (la formule n'est pas encore faite) permet de cocher les lignes donc je récupère les fichiers extraits selon ce qui est coché dans la feuille MAJ.
Je suis à l'écoute d'éventuels commentaires, il y a aurai certainement un tas de choses à améliorer ... mais je ne suis qu'une simple utilisatrice d'excel.

Merci
 

Pièces jointes

  • FICHIER TEST DEFINITIF.xlsm
    59.5 KB · Affichages: 37

sr94

XLDnaute Occasionnel
Re : Copier avec mise en forme conditionnelle

Bonjour

La macro marche impeccable, mais par contre elle est de plus en plus longue à s'executer

1,5 minutes la première fois
20 minutes au bout d'une semaine
...3 heures hier

J'ai tenté de copier les données dans un nouveau fichier mais c'est toujours long
Le type et la quantité de données est toujours la même.

Avez vous une idée ?

Merci
 

job75

XLDnaute Barbatruc
Re : Copier avec mise en forme conditionnelle

Bonsoir sr94,

Quand on aura compris pourquoi votre fichier du post #2 pèse plus de 200 Ko, même quand on supprime toutes les cellules, on trouvera le remède.

Le même tableau copié sur un document vierge (mon post #22) donne un fichier de 33 Ko...

Bonne nuit.
 

sr94

XLDnaute Occasionnel
Re : Copier avec mise en forme conditionnelle

Bonjour

J'ai fait le test suivant :

- j'ai repris le fichier de mon post #53 qui était rapide, il faisait 49 ko, j'ai juste gardé les 2 premières feuilles, et retiré les macros dont je n'ai pas besoin pour le test, je suis arrivée à 38 ko. J'ai lancé la macro, 2 ou 3 secondes pour exécuter la macro - c'est le fichier TEST DEFINITIF (2)

- j'ai repris ce fichier et cette fois ai copié mes vrais données, les 6000 lignes, je n'en garde que 10 pour le test, que je modifie par des données bidon - et là je suis à 331 ko - un tout petit peu plus long pour exécuter la macro sur les quelques lignes (3-4 secondes). Il est téléchargeable ici : Document Cjoint

- je reprends ce dernier fichier et je remets mes vrais données, les 6000 lignes (3 minutes pour copier/coller, 1.6 Mo), la dernière fois il avait mis 1.5 minutes pour tout faire. Là au bout de 3 minutes il n'a généré que le premier fichier. Pourtant la dernière fois j'avais fait exactement là même chose et j'étais à 1.5 minutes pour le tout.


Merci
 

Pièces jointes

  • FICHIER TEST DEFINITIF (2).xlsm
    38.4 KB · Affichages: 25

sr94

XLDnaute Occasionnel
Re : Copier avec mise en forme conditionnelle

J'ai réussi à avancer depuis ce matin :
j'ai recopié dans un nouveau classeur toutes mes cellules, d'abord copier les valeurs uniquement et ensuite copier cellule et mise en forme
dans le nouveau classeur j'ai transformé mon tableau en plage de données
j'ai ensuite recréé mon fichier (j'ai enregistré toutes les étapes de création en macro, j'en ai marre de refaire la même chose !)
et j'ai recopié mes données dans mon nouveau fichier.
... exécution de la macro en 1 minute !

Je n'ai pas encore :
- remis les formules et mises en forme conditionnelles
- remis la macro qui contrôle le temps d'ouverture du fichier pour le fermer au bout de 10 minutes
- remis les liens à access mais je songe à les mettre dans un autre classeur

Je suis à 965 ko avec mes 6000 lignes
 

Discussions similaires

Statistiques des forums

Discussions
312 332
Messages
2 087 365
Membres
103 528
dernier inscrit
maro