[Résolu][Calc] Exporter plusieurs onglets selon critère

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 !
lecoinbon86
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 01 avr. 2020 07:04

[Résolu][Calc] Exporter plusieurs onglets selon critère

Message par lecoinbon86 »

Bonjour,

Je dois exporter plusieurs onglets au format ods d'un classeur selon le choix de l'utilisateur.
Dans l'exemple en pièce jointe, l'utilisateur a le choix entre un export complet de tous les onglets présents dans la feuille BIG et un export partiel : il choisit l'équipe du personnage et en sortie, on a un fichier contenant tous les onglets de l"équipe.
Exemple : s'il choisit l'équipe L, alors on a un fichier en sortie avec uniquement les onglets "_L" à la fin du nom de l'onglet.
J'ai commencé à regardé l'extension zbasic mais pas certain qu'elle puisse me faire cela.

Avez-vous une idée ?
Merci.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par lecoinbon86 le 16 déc. 2024 18:51, modifié 1 fois.
Version: 24.2.1.2 (X86_64) / LibreOffice Community
Windows 11
Avatar de l’utilisateur
OOo - Ekel
SuppOOrter
SuppOOrter
Messages : 1313
Inscription : 10 nov. 2006 15:04
Localisation : F-Oise

Re: [Calc] Exporter plusieurs onglets selon critère

Message par OOo - Ekel »

Bonjour,

Exporter vers ?

En cherchant un peu sur le forum : https://forum.openoffice.org/fr/forum/viewtopic.php?t=6371

Cordialement
Ekel

KUbuntu Noble Numbat (24.04) : LibreOffice 24.8.0.3 Officielle
AMD Ryzen 5 5600G
AMD Radeon RX 6650 XT
22" + 22"
16 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
lecoinbon86
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 01 avr. 2020 07:04

Re: [Calc] Exporter plusieurs onglets selon critère

Message par lecoinbon86 »

Pardon, exporter dans un répertoire en fichier ods.
Version: 24.2.1.2 (X86_64) / LibreOffice Community
Windows 11
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1141
Inscription : 19 août 2018 05:20

Re: [Calc] Exporter plusieurs onglets selon critère

Message par Dolev »

Bonjour,
lecoinbon86 a écrit : 14 déc. 2024 08:32 J'ai commencé à regardé l'extension zbasic mais pas certain qu'elle puisse me faire cela.
Pourtant il y a bien une solution donnée ici : viewtopic.php?t=69399
D'ailleurs le fichier ressemble étrangement au votre.
Open Office 4.1.15 sous Windows 11
lecoinbon86
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 01 avr. 2020 07:04

Re: [Calc] Exporter plusieurs onglets selon critère

Message par lecoinbon86 »

oui j'ai vu ça mais ce n'est pas vraiment la même chose, moi je demande à l'utilisateur de choisir les onglets qu'il souhaite exporter.
Il faut donc que je parcoure les onglets correspondants pour les exporter et uniquement ceux là en fait.

Fonctionnement :
S'il choisit l'équipe L, seuls les onglets L doivent être exportés, s'il choisit M, alors le fichier en sortie ne contiendra que les onglets M, et s'il choisit de ne pas choisir alors il y aura n fichiers contenant les onglets de la même lettre (1 fichier M avec les onglets M, 1 fichier L avec les onglets L, 1 fichier Z avec les onglets Z, etc ...)

En détail ça donnerait donc ceci :
-Si l'utilisateur prend L alors on aura un fichier nintendo_L avec les onglets Mario_L et Luigi_L
-S'il choisit Z alors on aura un fichier nintendo_Z avec les onglets Bowser_Z (que celui là dans l'exemple mais il pourra en avoir d'autres).
-S'il choisit M alors on aura un fichier nintendo_M avec les onglets Peach_M et Yoshi_M
-S'il choisit de ne pas choisir (FULL dans mon exemple), alors on aura 3 fichiers en sortie nintendo_L, nintendo_Z et nintendo_M avec les onglets correspondants (ci-dessus).
Version: 24.2.1.2 (X86_64) / LibreOffice Community
Windows 11
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1141
Inscription : 19 août 2018 05:20

Re: [Calc] Exporter plusieurs onglets selon critère

Message par Dolev »

lecoinbon86 a écrit : 14 déc. 2024 16:39 moi je demande à l'utilisateur de choisir les onglets qu'il souhaite exporter.
Que veut dire "demander" ?
S'il s'agit juste de lire les cellules G5 et G7, vous utilisez zCellule.Lit
Puis vous testez dans la boucle pour savoir si vous exportez.
Open Office 4.1.15 sous Windows 11
lecoinbon86
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 01 avr. 2020 07:04

Re: [Calc] Exporter plusieurs onglets selon critère

Message par lecoinbon86 »

Par demander : l'utilisateur choisit via le menu déroulant l'équipe de son choix pour l'export.
Cellule G4 et cellule G5.

Si G4 = oui alors tu exportes n fichiers avec les bons onglets dans chacun.
Si G4 = non et G5 =L alors tu exportes uniquement l'équipe L

J'ai juste testé sur la valeur L et il ne me sort pas tous les onglets en M, juste le premier, ce qui est assez logique car pour chaque aLigne, il me fait un export ... comment faire pour que l'export se fasse avec tous les onglets en L ?

Code : Tout sélectionner

Sub Main
	Globalscope.BasicLibraries.LoadLibrary( "zBasic" )
	sRep = "C:\export\" 'le répertoire où exporter
	aListe = zPlage.VersTable("A2:B10", "BIG")
	for each aLigne in aListe
		if aLigne(1)=zCellule.Lit ("BIG", "G5","C") then 
			sFeuille = aLigne(0) & "_" & aLigne(1)
			sClasseur = "Equipe" & "_"& aLigne(1)
			zFeuille.Exporte(sRep & sClasseur & ".ods", sFeuille)
		end if
	next
End Sub
Dans l'aide zBasic, on peut lire : "Si le classeur existe déjà, la feuille sera ajoutée et renommée éventuellement si un nom identique existe."
Mais ça n'a pas l'air de fonctionner. A chaque itération, on me dit que le fichier existe déjà et c'est tout, les feuilles ne sont pas rajoutées.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Version: 24.2.1.2 (X86_64) / LibreOffice Community
Windows 11
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1141
Inscription : 19 août 2018 05:20

Re: [Calc] Exporter plusieurs onglets selon critère

Message par Dolev »

Quelle est la version de zBasic ?
Open Office 4.1.15 sous Windows 11
lecoinbon86
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 01 avr. 2020 07:04

Re: [Calc] Exporter plusieurs onglets selon critère

Message par lecoinbon86 »

J'ai la 3.0.7.

UP : j'ai mis à jour avec la 3.1.1 et effectivement ça fonctionne mieux mais c'est pas encore ça.
Pour le L par exemple, ça ne me colle que l'onglet Mario_L et pas de Luigi_L ...
J'ai l'impression qu'il ne passe pas à la ligne suivante dans mon programme et qu'il s'arrête à Mario
Version: 24.2.1.2 (X86_64) / LibreOffice Community
Windows 11
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1141
Inscription : 19 août 2018 05:20

Re: [Calc] Exporter plusieurs onglets selon critère

Message par Dolev »

Où est le wait 500 ?
Open Office 4.1.15 sous Windows 11
lecoinbon86
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 01 avr. 2020 07:04

Re: [Calc] Exporter plusieurs onglets selon critère

Message par lecoinbon86 »

Je pensais que ce Wait était plus que facultatif ... visiblement non.

Par contre, dans l'exemple, mario_L et luigi_L fonctionnent mais pas bowser_L, une idée ?
Normalement le each permet bien de balayer toutes les modalités non ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Version: 24.2.1.2 (X86_64) / LibreOffice Community
Windows 11
lecoinbon86
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 01 avr. 2020 07:04

Re: [Calc] Exporter plusieurs onglets selon critère

Message par lecoinbon86 »

Pas moyen d'avoir 3 onglets en sortie, il se limite systématiquement à deux.
J'ai pourtant vérifié et il balaie pourtant bien tous mes personnages en "L".
Pour que ça fonctionne je suis obligé de lui mettre une ligne bidon type msgbox (sFeuille) dans la boucle sinon il s'arrête à deux onglets ...

UP : j'ai rajouté un wait 500 qui semble faire l'affaire.

Une question, moyen de ne pas avoir ces fenêtres noires qui apparaissent à chaque fois ? genre faire le travail en fond ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Version: 24.2.1.2 (X86_64) / LibreOffice Community
Windows 11
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1141
Inscription : 19 août 2018 05:20

Re: [Calc] Exporter plusieurs onglets selon critère

Message par Dolev »

lecoinbon86 a écrit : 15 déc. 2024 10:39 Par contre, dans l'exemple, mario_L et luigi_L fonctionnent mais pas bowser_L, une idée ?
Vous comprenez ce que vous faites ? :marto:
Les noms que vous donnez ne correspondent pas aux onglets et sont sensibles à la casse.
Open Office 4.1.15 sous Windows 11
lecoinbon86
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 01 avr. 2020 07:04

Re: [Calc] Exporter plusieurs onglets selon critère

Message par lecoinbon86 »

J'ai posté un nouveau message justement.
ça a l'air de pas trop mal fonctionner, juste ce soucis de pages clignotantes, je crois qu'il existe un code pour que ça se fasse en arrière plan mais pas moyen de mettre la main dessus.
Version: 24.2.1.2 (X86_64) / LibreOffice Community
Windows 11
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1141
Inscription : 19 août 2018 05:20

Re: [Calc] Exporter plusieurs onglets selon critère

Message par Dolev »

lecoinbon86 a écrit : 15 déc. 2024 12:29 ça a l'air de pas trop mal fonctionner

Comment clore un sujet lorsqu'il est résolu

Une question par fil est une règle du forum
Open Office 4.1.15 sous Windows 11