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: - [email protected] 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 à [email protected] 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
