IPB

Bienvenue invité ( Connexion | Inscription )

> Excel : regrouper des fichiers
Options
b00ss
posté 3 Apr 2017, 16:08
Message #1


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 903
Inscrit : 28 Oct 2004
Lieu : Belgium
Membre no 25 982



Bonjour à tous,

J'utilise Excel tous les jours, et je synchronise plusieurs dossiers avec 2 autres personnes.

J'ai un dossier qui contient plusieurs centaines de fichiers, dans 2 colonnes, A & B (la colonne B peut aller jusqu'à la ligne 500)

Je voudrais faire un fichier ALL.xls qui regrouperait l'ensemble des fichiers, afin de pouvoir faire des recherches.

Comment puis-je faire ?

Merci pour votre aide,


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

iMac 5K
iPhone 11Pro 256GB
Watch SE



--------\\\ ///
------ ( @ @ )
....o00o.(_).o00o..



Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
PBell
posté 8 May 2020, 07:28
Message #2


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 266
Inscrit : 7 Dec 2013
Lieu : Ile de France
Membre no 188 169



Bonjour,
Voici le script que j'avais fait à l'époque pour tester l'idée.
Il combine à la fois les actions de dossier et tu peux aussi le lancer en direct. Dans ce cas, il va te demander de sélectionner le dossier avec les fichiers Excel à regrouper.

Dans les 2 cas, il filtre les xlsx et les fichier commençant par "enco" comme demandé par b00ss.
Le fichier de regroupement est fixe (première ligne du handler "fusion_excel".

Code
(* le programme principal est le handler fusion_excel

Lors d'un run classique (handler on run), l'utiisateur doit choisir le dossier des fichiers Excel
Lors d'un appel via action de dossier, l'action de dossier fourni la liste de Excel ajoutés
*)

--****************************
on run
    -- sélection du dossier des fichiers Excel à regrouper
    tell application "Finder" to set liste to (document files of (choose folder "selectionner le dossier contentant les fichiers Excel à regrouper") whose name starts with "enco" and name extension is "xlsx") as alias list
    fusion_excel(liste)
end run

--****************************
on adding folder items to ceDossier after receiving fichiers
    -- il faut filtrer les fichiers de type xlsx commençant par "enco"
    set liste to {}
    tell application "Finder"
        repeat with un_fichier in fichiers
            set f to file un_fichier
            if ((name of f) starts with "enco") and (name of f ends with "xlsx") then set end of liste to un_fichier
        end repeat
    end tell
    fusion_excel(liste)
end adding folder items to

--****************************
on fusion_excel(listeXL) -- regroupe sur 1 fichier Excel les contenus de fichiers Excel de la liste listeXL
    set ALLXL to "Users:imac27:Desktop:Groupe_Excel:ALL.xlsx" -- fichier Excel de regroupement    
    tell application "System Events" to set ALL_OK to exists file ALLXL -- vérifie que le fichier ALLXL existe déjà    
    tell application "Microsoft Excel"
        activate
        if ALL_OK then -- Le fichier existe, ouverture et position de la prochaine ligne vide
            open ALLXL
            set all_wb to active workbook
            set der_ligne to (count of rows of used range of active sheet) + 1
        else -- Le fichier n'existe pas. On le crée et l'enregistre. La prochaine ligne est 1
            set all_wb to make new workbook
            save workbook as all_wb filename ALLXL
            set der_ligne to 1
        end if
        repeat with unXL in listeXL
            set curr_wb to open workbook workbook file name (unXL as string) with read only
            set Nb_lignes to count of rows of used range of sheet 1 of curr_wb
            copy range (used range of sheet 1 of curr_wb)
            close curr_wb saving no
            activate all_wb
            paste worksheet sheet 1 destination range ("A" & der_ligne)
            set der_ligne to der_ligne + Nb_lignes
        end repeat
        close all_wb saving yes
    end tell
end fusion_excel

Cordialement


--------------------
iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8
iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11
Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8
Go to the top of the page
 
+Quote Post

Les messages de ce sujet
- b00ss   Excel : regrouper des fichiers   3 Apr 2017, 16:08
- - Aliboron   Dossiers, fichiers,... Sachant qu'Excel utilis...   3 Apr 2017, 16:51
- - b00ss   Merci de te réponse, je vais t'expliquer.... ...   3 Apr 2017, 17:49
- - Aliboron   Si tu veux récupérer des données dans 500 class...   3 Apr 2017, 23:15
- - baron   Autrement, l'affaire serait plus simple si tu ...   4 Apr 2017, 04:28
- - b00ss   Je suis sous Mac OS 10.12 sur un iMac 5K, MS Offic...   4 Apr 2017, 10:03
|- - Aliboron   Citation (b00ss @ 4 Apr 2017, 11:03) Que ...   4 Apr 2017, 10:12
- - b00ss   J'avais trouvé ça sur un autre post, en Appl...   4 Apr 2017, 12:17
|- - Aliboron   Citation (b00ss @ 4 Apr 2017, 13:17) J...   5 Apr 2017, 23:29
- - Jack the best   Rien à voir, mais j'aime bien ta signature ...   4 Apr 2017, 14:24
- - guillaum   Bonjour. Quelques idées qui peuvent être un autr...   4 Apr 2017, 16:01
- - b00ss   J'ai simplement remplacé 2 choses dans ce scr...   11 Apr 2017, 19:22
|- - Aliboron   Citation (b00ss @ 11 Apr 2017, 20:22) Pui...   12 Apr 2017, 13:51
- - b00ss   Super, un grand merci pour ta réponse... D'a...   12 Apr 2017, 15:53
|- - Aliboron   Citation (b00ss @ 12 Apr 2017, 16:53) Apr...   12 Apr 2017, 15:59
- - b00ss   Si je récapitule, il faudrait arriver à quelque ...   12 Apr 2017, 19:37
- - b00ss   Peut etre devrais-je déplacer ce post dans PROGRA...   12 Apr 2017, 20:26
- - baron   Déplacé.   12 Apr 2017, 22:49
- - PBell   Bonjour, Je me permets juste un petit conseil: ava...   13 Apr 2017, 08:28
- - cloum   Bonjour j'ai la meme question. Finalement est...   7 May 2020, 08:33
- - PBell   Bonjour, Voici le script que j'avais fait à l...   8 May 2020, 07:28


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 18th July 2025 - 09:02