[Résolu][Calc] Récupération de données d'autres fichiers automatiquement

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
drakkar19
Fraîchement OOthentifié
Messages : 2
Inscription : 28 sept. 2024 07:39

[Résolu][Calc] Récupération de données d'autres fichiers automatiquement

Message par drakkar19 »

Bonjour à tous et toutes,

Premier message ici car je suis bloqué de chez bloqué.

Je ne sais s'il est possible, sous calc, avec une macro (de préférence), à partir d'un fichier de travail, notons le T d'aller lire les informations dans un fichier fermé, de copier ces informations dans le fichier T ?

Le contexte est le suivant :
Je dois extraire chaque jour du mois d'octobre un fichier "extraction", tous auront la même forme (voir exemple en pièce jointe), sur les montants d'achat de 3 personnes (3 lignes pour l'exemple et 3 colonnes).
J'aurais donc 31 fichiers appelés par exemple extraction_01_10, extraction_02_10, etc … (pour le mois d'octobre).
J'ai besoin d'avoir le contenu de toutes ses extractions à la suite des autres dans l'onglet ENSEMBLE de mon fichier de travail.

J'ai un peu cogité et je pensais (je ne suis même pas certain que cela soit possible), de "balayer" l'ensemble des fichiers du répertoire extraction et de copier leur données dans l'onglet ensemble du document de travail à chaque ouverture du document de travail … sauf que, dans cet exemple, il n'y a que 3 lignes dans chaque extraction mais dans mon fichier réel, il y aura 400 lignes dans chaque extraction, et que, ça pourrait prendre du temps.

Autre problème : je fais donc une extraction par jour. Admettons que j'ouvre mon fichier de travail le 2 octobre : ok admettons, on concatène les données extraction_01_10 et extraction_02_10. Admettons également que le fichier travail sauvegarde en sortie. Dans mon fichier travail j'aurais donc 6 lignes.
Le lendemain, après l'extraction_03_10 je réouvre mon fichier de travail, ça serait dommage de recommencer à concaténer extraction_01_10 et extraction_02_10 car déjà fait auparavant, il serait plus pratique de ne copier que l'extraction_03_10 à la suite des lignes déjà complétées …

Bref, un long monologue pour peut-être rien si impossible à faire.

[Actuellement : à chaque jour, je copie-colle les 3 lignes de mes extractions dans mon onglets ENSEMBLE de mon fichier de travail … c'est pas vraiment automatisé … et c'est plus que pénible à faire, tous les jours …

Si vous avez une piste, je vous remercie :)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 24.2.1.2 sous Windows 11
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9580
Inscription : 28 août 2010 08:45

Re: [Calc] Récupération de données d'autres fichiers automatiquement

Message par micmac »

Bonjour et bienvenue sur notre forum,
votre signature a écrit :LibreOffice 24.2.1.2 (X86_64)
La signature indiquée manque de clarté et risque d'induire en erreur les gens qui vous répondront.
Vous devez préciser la version exacte d'OpenOffice ou de LibO (version officielle ou des dépôts selon le cas) et le système sur lequel il tourne.

Voici quelques exemples : AOO 4.1.15, LibO 24.2.6, sous Windows XP SP3, Vista SP2, Win7 SP1, Win 8.1, Win 10, Win 11, macOS (Intel, M1, M2 ou M3) 14.6.1 Sonoma, Ubuntu 22.04 ...etc.

Lien direct pour accéder à votre signature
.
drakkar19 a écrit : 28 sept. 2024 07:56 Autre problème :
Le principe de ce forum est de ne traiter que d'un seul problème à la fois : règle n° 7.
Pour vos autres questions, vous ouvrirez autant de sujets que nécessaire.

Cordialement
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1047
Inscription : 19 août 2018 05:20

Re: [Calc] Récupération de données d'autres fichiers automatiquement

Message par Dolev »

Bonjour,
drakkar19 a écrit : 28 sept. 2024 07:56Je ne sais s'il est possible, sous calc, avec une macro (de préférence), à partir d'un fichier de travail, notons le T d'aller lire les informations dans un fichier fermé, de copier ces informations dans le fichier T ?
La copie de feuilles entre classeurs est un "serpent de mer" :)
Regardez ce suprême de code : viewtopic.php?f=15&t=6371

400 lignes de 31 classeurs = 12.400
Si on multiplie par le nombre de mois dans une année, on arrive à près de 150.000 lignes
Sans doute que le tableur n'est pas l'outil idéal et qu'il faut plutôt partir sur une base de données.
Open Office 4.1.15 sous Windows 11
drakkar19
Fraîchement OOthentifié
Messages : 2
Inscription : 28 sept. 2024 07:39

Re: [Calc] Récupération de données d'autres fichiers automatiquement

Message par drakkar19 »

Merci mais les outils du boulot ne permettent pas d'utiliser ces outils là, seulement Calc et writer sont disponibles hélas ...
Merci pour le suprême de code mais ça fonctionne aussi sur des documents fermés ?
LibO 24.2.1.2 sous Windows 11
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1047
Inscription : 19 août 2018 05:20

Re: [Calc] Récupération de données d'autres fichiers automatiquement

Message par Dolev »

drakkar19 a écrit : 28 sept. 2024 11:09 Merci mais les outils du boulot ne permettent pas d'utiliser ces outils là, seulement Calc et writer sont disponibles hélas ...
Euh, OpenOffice est une suite intégrée. Donc vous devez avoir le module Base.

drakkar19 a écrit : 28 sept. 2024 11:09Merci pour le suprême de code mais ça fonctionne aussi sur des documents fermés ?
Pouvez-vous lire un livre s'il est fermé ?
Il faudra bien sûr ouvrir chaque document puis le fermer comme c'est indiqué dans les exemples (notamment Piaf).
Open Office 4.1.15 sous Windows 11
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25602
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Récupération de données d'autres fichiers automatiquement

Message par Dude »

Salut,
drakkar19 a écrit : 28 sept. 2024 07:56 à partir d'un fichier de travail, notons le T d'aller lire les informations dans un fichier fermé, de copier ces informations
Effectivement ces transferts d'information laissent supposer que le module Base serait plus adapté.

On peut toujours importer des feuilles dans un classeur mais on tend rapidement vers l'usine à gaz (dixit ton 2nd problème).
Avec zBasic, quelques lignes suffisent :

Code : Tout sélectionner

Sub DudeMoi
	GlobalScope.BasicLibraries.loadLibrary ("zBasic")
	
	sChemin = "c:\temp\"
	oFichiers = zBasic.ListeFichiers(sChemin, "ods")
	oListe = zTable.VersListe(oFichiers)
	for each sFichier in oListe
		i=i+1
		zFeuille.Importe(sFichier, "Import_" & i)
	next
End Sub
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1466
Inscription : 18 janv. 2008 09:02
Localisation : Val de Marne

Re: [Calc] Récupération de données d'autres fichiers automatiquement

Message par jeanmi2403 »

Bonjour,
D'abord, la question qui tue : c'est pour quoi faire ? Quel est le Traitement/Rapport à effectuer une fois les données cumulées ?
Je ne vois que le module Base pour faire ce travail (cumul et conservation des résultats).
Ce qui n'exclut nullement l'usage de macros puisqu'il semble qu'il y ait des automatismes à mettre en place...
Chaque jour, cumuler l'extraction du jour.
Mais, encore une fois, ça peut dépendre du traitement ultérieur sur ces données.
Cordialement,
Jean-Michel
LibO 24.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX