Bonjour
Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide
(http://fr.libreoffice.org/get-help/poser-une-question/).
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de
courrier électronique de façon que le demandeur reçoive une copie de votre réponse.
Email: - christian.rabiller@free.fr
Sujet: - macro calc
Question: - Bonjour,
J'avais inclus dans mon document openoffice la macro suivante qui ne fonctionne pas sous
libreoffice.
Pouvez-vous m'indiquer les changements qui ont été opérés car aucune erreur n'apparait, mais le
filtre n'est pas réalisé.
Merci de votre attention.
option explicit
sub PysFilter
Const PysNumFeuille = 0 'Numérotation commence à zéro => 1ère feuille
Const PysColDeb = 0 'Ibid.
Const PysColFin = 3
Const PysLigDeb = 0
Const PysLigFin = 5
dim PysFeuille as object, PysPlage as object, PysFiltre as object, PysDataRange as object, i as
integer
dim PysChampFiltre(0) As New com.sun.star.sheet.TableFilterField
PysFeuille = thisComponent.Sheets.getByIndex(PysNumFeuille) 'Accès à la feuille dont
le numéro est en constante
PysPlage = PysFeuille.getCellRangeByPosition(PysColDeb,PysLigDeb,PysColFin,PysLigFin) 'Accès
à la plage concernée
'Ci-dessous réinitialise le filtre éventuellement déjà posé sur la plage
PysFiltre= PysPlage.createFilterDescriptor(true)
PysPlage.filter(PysFiltre)
for each PysDataRange in thiscomponent.DatabaseRanges 'Boucle sur toutes les plages
de données
'Si porte sur la même plage
if PysDataRange.DataArea.Sheet = PysNumFeuille and _
PysDataRange.DataArea.StartColumn = PysColDeb and _
PysDataRange.DataArea.EndColumn = PysColFin and _
PysDataRange.DataArea.StartRow = PysLigDeb and _
PysDataRange.DataArea.EndRow = PysLigFin then
PysFiltre = PysDataRange.FilterDescriptor 'Accès aux paramètres du filtre
with PysFiltre 'Les paramètres généraux
.ContainsHeader = true 'La première ligne = en-tête de colonnes
.CopyOutputData = false 'Ne copie pas le résultat ailleurs
.IsCaseSensitive = false 'Ne pas respecter la casse
.UseRegularExpressions = false 'N'utilise pas d'expressions régulières
end with
'Ci-dessous les paramètres par colonne (ici une seule colonne de filtre)
PysChampFiltre(0).Field = 1 'Le nom est en colonne B
PysChampFiltre(0).Operator = com.sun.star.sheet.FilterOperator.EQUAL
PysChampFiltre(0).StringValue = "BERTHO"
PysFiltre.setFilterFields(PysChampFiltre()) 'Passe les param. "colonnes" au filtre
PysPlage.filter(PysFiltre) 'Applique le filtre
end if
next PysDataRange
end sub
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être
supprimés
Context
- [fr-users] macro calc · demande_aide_fr
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.