D'import de donnée simple / Modif fichier externe

Bonjour,

Cela fait plusieurs heure que je cherche sur internet, je trouve des macro mais pas exactement ce que je cherche soit elle sont complexe soit elle ne corresponde pas à mes demande.

Le principe :

Une macro permettant d'importer plusieurs données de plusieurs classeurs excel se situant dans le le même répertoire

EXEMPLE :

  • J'ai mon fichier Commandant composer de Feuille01 / Feuille 02 / Feuille 03
  • Dans le même repertoire je possèdes : Data01.xlsm / Data02.xlsm / Data03.xlsm

J'aimerais importer les donner de Data01 sur la feuille 01 ( à partir de A2 ) / importer Data02 sur la feuille 02 / et pareil pour Data03.xlsm

Petit hic : Le nombre de ligne est aléatoire dans les Data01/Data02/Data03 j'aimerais qu'il m'évite de me prendre les Ligne Vide. Dans l’idéal qu'il m'importe le nombre exacte de ligne, et qu'il m'importe pas des lignes vides...

Existe t'il un macro pour modifier un fichier se situant dans le même répertoire sans l'ouvrir ?

Concernant les fichier Data01/Data02/Data03 j'aimerais Supprimer la colonne E et F et intervertir la colonne B avec la colonne C. Tout cela sans que j'ouvre le classeur Data01/Data02/Data03

Est-ce réalisable ?

A ce qui résoudrons mon problème ils auront tout mon respect et mon honneur

Merci d'avance !

Fichier :

Commande

https://www.cjoint.com/c/FHwrIIhM8CP

Data01

https://www.cjoint.com/c/FHwrIY1jzQP

Data02

https://www.cjoint.com/c/FHwrJb08shP

Ce sont des trames simple juste pour que vous ayez un support

Bonjour

pour consolider les données dans un seul fichier,oui cela est réalisable, mais encore faut-il donner des fichiers tests pour cela...

pour ce qui est modifier des fichiers sans les ouvrir, c'est oui et non.

a ma connaissance, travailler sur un fichier fermer pour supprimer des données non c'est pas possible.

mais on peut très bien ouvrir le fichier faire les modifs et l'enregistrer, sans que l'utilisateur présent devant l’écran ne voit quelque chose....

fred

J'ai mis à jours avec un support

Re tu dis :

J'aimerais importer les donner de Data01 sur la feuille 01 ( à partir de A2 ) / importer Data02 sur la feuille 02 / et pareil pour Data03.xlsm

hors dons ton fichier commande fournit tu as des onglets : ASV, mesure

capture

donc tu veux les données de data 1 dans ASV, data2 dans mesure

OK ??

fred

exactement

data01 dans ASV

data02 dans Mesure


Sans lui imposer une ligne exacte et colonne exacte

je voudrais qu'il aille chercher la derniere ligne/colonne ou ya une valeur

re

ci joint une proposition

ctr+shift+C pour lancer la macro

fred

EDIT

je n'avais pas vu ton edit que veux tu dire par colonne occuper ce n'est pas toujours les même ?

18kenjix.zip (29.01 Ko)

occuper ?

Enfaite j'ai une base de donner et parfois j'ai 16000 ligne et dautre fois 25000 ligne donc je voudrais qu'il me prend jusqu'a la derniere cellules pleines...

et ducoupe pour la manipulation des colonnes ?

Ah, par contre sur ma vrai base j'ai pas les même entêtes ...

c'est pour cela que dans notre exemple je voudrais prendre juste les données de data01 et data02 sans les entetes ( même s'il sont les même que dans commande )

en gros sa ferait shématiquement : Importe data01 ==> F.data01 => de : A2:Dx sachant que "x" reprendre la numéro de la derniere ligne contenant une valeurs dans le fichier data01

bah c'est déjà le cas grace a la ligne :

ActiveWorkbook.Sheets(1).Range("A2:D" & ActiveWorkbook.Sheets(1).[A65536].End(xlUp).Row).Copy

fred

Re-bonjour

lorsque j'essaye le macro sur un nouveaux classeur il me met un message d'erreur

etrange

64d0f15c97954f1095385ac0f1a98a23

Solution :

Sub lire_donnees(Fichier As String, onglet As String)
Workbooks.Open (ThisWorkbook.Path & "\" & Fichier)           ' ouverture du fichier
ActiveWorkbook.Sheets(1).Range("A1:L" & ActiveWorkbook.Sheets(1).[A65536].End(xlUp).Row).Copy ThisWorkbook.Sheets(onglet).[A1]
ActiveWorkbook.Close (False)
End Sub

Je ne pensais pas que l'on pouvais déclarer dans un autre Sub...

bonjour

c'est lié au fait que tu n'as pas copier l'intégralité du code que je t'ai fourni dans ton fichier

je t'ai donné 2 sub....

et lire_données c'est ça :

Sub lire_donnees(Fichier As String, onglet As String)
Workbooks.Open (ThisWorkbook.Path & "\" & Fichier)           ' ouverture du fichier
ActiveWorkbook.Sheets(1).Range("A2:D" & ActiveWorkbook.Sheets(1).[A65536].End(xlUp).Row).Copy ThisWorkbook.Sheets(onglet).[A2]
ActiveWorkbook.Close (False)
End Sub

fred

Merci fred grace à toi tout est fonctionnelle ainsi que les graphe en TCD

f

Bonjour

Dans ce cas :

merci

fred

Rechercher des sujets similaires à "import donnee simple modif fichier externe"