Copie données dans nouveau classeur

Bonjour au forum,

Je sais que ce sujet à été abordé un certain nombre de fois mais je n'arrive pas à trouver la solution à mon problème...

J'aimerais pouvoir copier d'un fichier les valeurs des colonnes suivantes P4:R1000 et AG4:AH1000 qui ne se suivent pas dans un nouveau fichier nommé NEW_Date du jour.xlsm (créé automatiquement au même emplacement) en gardant le format mais en supprimant les formules et en faisant en sorte que les colonnes se suivent.

Si quelqu’un aurait une petite solution à m'apporter, je serai très ravi

Je vous remercie par avance

Salut

koodbook a écrit :

....les valeurs des colonnes suivantes P4:R1000 et AG4:AH1000 qui ne se suivent pas

Que veux-tu dire par là ? Il y a des colonnes vides ? Des lignes vides ? Les données ne sont pas triées ?
koodbook a écrit :

et en faisant en sorte que les colonnes se suivent.

Tu peux être plus précis ?

Un fichier exemple serait hautement bienvenu

A te relire.

Bonjour Yvouille et le forum,

Oui effectivement, un fichier exemple serait plus parlant.

Le voici:

Par contre dans mon fichier exemple, les éléments à copier dans un nouveau fichier sont les colonnes ID, Type, Délais et TELECOM Niv1. Dans mon fichier initial, il y a des formules dans ces colonnes. Il ne faudrait copier que les valeurs et la mise en forme du tableau, si cela est possible.

J'ai mis le résultat attendu dans l'onglet Résultat

Je te remercie

24fichier-ex.xlsm (148.19 Ko)

Re,

Je ne comprends pas très bien ton besoin. Tu désires apparemment copier deux groupes distincts de colonnes et les reporter sur une autre feuille de manière conjointe, en gardant la mise en forme, en supprimant les formules, donc en ne gardant que les valeurs.

Une fois cette opération effectuée, comment vas-tu continuer ? Tu vas repartir sur la base d’une nouvelle feuille ‘Consolidation’ et refaire la même opération sur une nouvelle feuille ‘Résultats’ ou désires-tu reporter les nouvelles données de la feuille ‘Consolidation’ sur la même feuille ‘Résultats’, à la suite des premiers résultats reportés ? Dans ce dernier cas, les 3 premières colonnes ID, Type et Délai doivent également être reportées ?

Je ne sais pas trop ce que tu attends de moi ; une macro qui fasse tout toute seule ou des explications comment effectuer toi-même des copier-coller spéciaux ‘mise en forme et valeur’ ?

A te relire.

Bonjour Yvouille,

En fait, j'ai besoin d'automatiser la copie de ces données dans un autre fichier que celui sur lequel je travaille. Je dois extraire ces données toutes les semaines et sur demande.

Les données originales évoluent avec le temps, la copie se fait à un instant t.

Oui les colonnes spécifiées doivent être copiées. ID Type Délais.

J'aurais besoin que le fichier créée soit nommé de la forme NEW_aaaammjj.xls (date de la création du fichier donc de la copie des données)

Re-bonjour,

Ah oui, c’est vrai que tu veux un nouveau fichier

Le fichier ci-joint devrait donc réaliser ce que tu désires.

Pour l’instant, afin que tu puisses réaliser plusieurs essais de suite, j’ai indiqué le jour ainsi que les minutes et les secondes – sans mise en forme – dans le titre du nouveau fichier créé. Par la suite, afin de n’avoir plus que la date du jour, efface la ligne

ActiveWorkbook.SaveAs Filename:=Chemin & "\NEW_" & Date & " " & Minute(Now) & Second(Now) & ".xlsx" 

et efface l’apostrophe devant la ligne

ActiveWorkbook.SaveAs Filename:=Chemin & "\NEW_" & Date & ".xlsx"

En l’état actuel, le fichier de base et le fichier nouvellement créé sont ouverts à l’écran mais enregistrés, prêt à être refermés à la fin de la macro. Est-ce que soit l’un, soit l’autre, soit les deux fichiers devraient en plus être refermés automatiquement e plus ?

A te relire.

27fichier-ex-v1.xlsm (141.29 Ko)

Bonjour Yvouille,

Tout d'abord je te remercie pour ton aide qui m'est très précieuse. Ta solution répond exactement à mon besoin.

Il y a juste un petit soucis lors de l’exécution de la macro sur la création du nom de fichier:

Erreur d'exécution 1004:

Excel ne peut accéder au fichier C:\Temp\NEW_07\04\552A9E00

En fait, la date est sous la forme jj/mm/aaaaaaaa. Du coup, le nom de fichier ne doit pas être correct pour lui.

Sais-tu comment on pourrais changer le format de la date ?

Je te remercie encore pour ton aide.

Salut,

Selon moi tu as recopié mon code dans un autre fichier et ça bloque car tu as oublié probablement un \. Je dis cela car tu indiques que ton code cherche à accéder à un FICHIER nommé NEW_07\04\552A9E00 (alors que ça devrait être un fichier à créer nouvellement).

Sinon parles-tu de mon fichier avec la ligne

ActiveWorkbook.SaveAs Filename:=Chemin & "\NEW_" & Date & " " & Minute(Now) & Second(Now) & ".xlsx" ou avec la ligne ActiveWorkbook.SaveAs Filename:=Chemin & "\NEW_" & Date & ".xlsx" ?

Une dernière piste : Si tu as bien fait les essais avec mon fichier, le problème pourrait venir du format des dates. En Suisse on utilise le point comme séparateur de date et les fichiers nouveaux sont créés chez moi avec des titres du genre NEW_07.04.2014 1138.xlsx ou NEW_07.04.2014.xlsx sans les minutes et les secondes. Par contre il se peut que si tu as un format de date du genre 07/04/2014, ça comporte des signes que ne sont pas acceptés dans le nom d’un fichier ; dans ce dernier cas, on va trouver une autre solution.

A te relire.

Bonjour Yvouille,

Je te remercie pour ta réponse.

Non, en fait j'ai bien utilisé ton fichier que j'ai copié dans le C:\Temp et exécuté à partir de cet emplacement.

Et cela me met ce message


En décommentant une des deux lignes cela me met le même message

Mon format de date est jj/mm/aaaa. Cela vient donc de cela

Alors essaye avec le code ci-joint

22fichier-ex-v2.xlsm (143.17 Ko)

Super!!! Merci beaucoup Yvouille

Cela fonctionne exactement comme je l'ai souhaité.

Un grand merci pour ton aide et pour tout le temps que tu y as consacré. Et un grand merci au forum

Rechercher des sujets similaires à "copie donnees nouveau classeur"