[Résolu] [Calc] Critères dans une autre feuille de calcul

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 !
calcul
Membre OOrganisé
Membre OOrganisé
Messages : 88
Inscription : 04 déc. 2018 11:06

[Résolu] [Calc] Critères dans une autre feuille de calcul

Message par calcul »

Salutations ,

La annexe macro "oFilter" fonctionne très bien pour créer le filtre spécial sur la feuille de calcul "Commandes" et coller les valeurs dans la feuille de calcul "Fax" du fichier "FiltreSpecial" joint .

Maintenant, j'ai besoin que les critères de filtrage soient placés dans une autre feuille de calcul, par exemple, dans la feuille de calcul des "Critères", selon le modèle de fichier "FiltreSpecial_2" .

et vous devez continuer à coller les valeurs filtrées dans la feuille de calcul "Fax" .

suit le fichier "FiltreSpecial_2" avec la feuille "Critères" d'une pièce jointe .


câlins .
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par calcul le 19 janv. 2019 04:29, modifié 1 fois.
LibreOffice 5.4.4.2 et Windows 7
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Calc] Critères dans une autre feuille de calcul

Message par Piaf »

Bonjour
calcul a écrit : j'ai besoin ....
....et vous devez continuer à coller les valeurs filtrées dans la feuille de calcul "Fax" .
Ben voyons :roll: et tu dois surtout comprendre les réponses que l'on te donne, pas seulement de les recopier.
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
calcul
Membre OOrganisé
Membre OOrganisé
Messages : 88
Inscription : 04 déc. 2018 11:06

Re: [Calc] Critères dans une autre feuille de calcul

Message par calcul »

sr. Piaf , Je suis désolé pour l'échec, je ne savais pas qu'il était simple de changer les critères macro . :fou:

Merci encore, vous aidez beaucoup mon projet d'étude .

Note :

J'ai placé des valeurs Orange avec des formules dans la feuille de calcul "Commandes", puis une erreur s'est produite dans la cellule "C5" de la feuille de calcul "Fax" pour coller les valeurs filtrées .

Vous pouvez uniquement copier les valeurs filtrées sans les formules, c.-à-d. Copier uniquement les valeurs, ne copiez pas les formules, je dois uniquement copier les valeurs.

suit les formules oranges de la feuille de calcul "Commandes" et l'erreur dans la feuille de calcul "Fax" .


ami câlin .
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 5.4.4.2 et Windows 7
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2791
Inscription : 16 avr. 2010 13:31

Re: [Calc] Critères dans une autre feuille de calcul

Message par OOotremer971 »

Bonjour,

Pour ne pas filtrer les formules mais uniquement les valeurs, il faut créer une copie temporaire de la feuille commande puis écraser les formules avec les valeurs qu'elles retournent.
Il faut ensuite filtrer cette zone écrasée puis supprimer la feuille temporaire.

Code : Tout sélectionner

	'"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
	'on ajoute une feuille temporaire (Copie de la feuille à filtrer)
	thisComponent.sheets.copyByName("Commandes","Temp", thisComponent.sheets.count)
	'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 

Code : Tout sélectionner

'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
	'on écrase les formules avec les valeurs qu'elles retournent
	maZone1 = fTemp.getCellRangeByPosition(0,3,oCurseur.RangeAddress.EndColumn,oCurseur.RangeAddress.EndRow)
	maZone = fTemp.getCellRangeByPosition(0,3,oCurseur.RangeAddress.EndColumn,oCurseur.RangeAddress.EndRow)	
	maZone.DataArray = maZone1.DataArray
	'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Code : Tout sélectionner

'"""""""""""""""""""""""""""""""""""""""""""""""""""
	'on supprime la feuille temporaire
	thiscomponent.sheets.RemoveByName("Temp")
	'"""""""""""""""""""""""""""""""""""""""""""""""""""
et le fichier pour tester :
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian GNU/Linux 12 (bookworm)
calcul
Membre OOrganisé
Membre OOrganisé
Messages : 88
Inscription : 04 déc. 2018 11:06

Re: [Calc] Critères dans une autre feuille de calcul

Message par calcul »

[Résolu]

Je veux remercier sr. OOotremer971 et aussi à sr. Piaf . :bravo: :bravo:

Merci beaucoup aux deux amis . :super: :super:


étreindre .
LibreOffice 5.4.4.2 et Windows 7
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2791
Inscription : 16 avr. 2010 13:31

Re: [Résolu] [Calc] Critères dans une autre feuille de calcu

Message par OOotremer971 »

Bonjour,
OOotremer971 a écrit :Pour ne pas filtrer les formules mais uniquement les valeurs, il faut créer une copie temporaire de la feuille commande puis écraser les formules avec les valeurs qu'elles retournent.
Il faut ensuite filtrer cette zone écrasée puis supprimer la feuille temporaire.
Une petite correction s'impose. Il n'est pas nécessaire de créer une feuille temporaire pour y écrire les valeurs à filtrer.
La méthode getFormulaArray permet de stoker un tableau de formule dans une variable et setFormulaArray de les restituer. Du coup le code est un peu plus propre et moins volumineux :

Code : Tout sélectionner

valeurs = mazone.getDataArray 'on stocke les valeurs
formules = mazone.getFormulaArray 'on stocke les formules
mazone.SetDataArray(valeurs) 'on remplace les formules par les valeurs qu'elles renvoient
'xray mazone
'ici on filtre mazone
mazone.SetFormulaArray(formules) 'on remplace les valeurs par les formules précédentes 
A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian GNU/Linux 12 (bookworm)