FAQ LibreOffice et Apache OpenOfficeConsultez toutes les FAQ
Nombre d'auteurs : 10, nombre de questions : 359, dernière mise à jour : 15 juillet 2017 Ajouter une question
Bienvenue sur la FAQ, elle a été réalisée pour répondre aux questions concernant les suites bureautiques Apache OpenOffice (AOO) et LibreOffice (LibO).
Si vous souhaitez participer pour l'améliorer, pour proposer vos contributions ou si vous constatez des erreurs dans cette page, n'hésitez-pas !!! Participez.
- 8.5.1. Les feuilles (55)
- 8.5.2. Les graphiques (5)
- Comment ouvrir un fichier Tableur existant ?
- Comment créer un nouveau fichier Tableur ?
- Comment Retrouver les équivalences de Couleur aux formats Hex , Long et RGB ?
- Comment utiliser les fonctions Calc par macro ?
- Comment remplacer un point par une virgule avec une expression régulière
- Comment ouvrir un classeur existant ?
- Comment savoir si le document testé en paramètre est un classeur Calc ?
- Comment lister toutes les feuilles contenues dans un classeur ?
- Comment de quel type est le contenu d'une cellule ?
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 | Sub ouvrirClasseur Dim Fichier As String Dim Wb As Object Dim Args() Fichier = ConvertToUrl("C:\Documents and Settings\michel\dossier\leTableur.ods") Wb = StarDesktop.loadComponentFromURL(Fichier,"_blank",0 ,Args() ) End Sub |
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | Sub CreerNouveauDocument_Calc Dim oDesktop As Object , oDoc As Object Dim Fichier As String Dim Args() , Opt() oDesktop = createUnoService("com.sun.star.frame.Desktop") 'Définit le type de document à créer '(Utilisez "private:factory/swriter" pour Writer) Fichier = "private:factory/scalc" 'Création oDoc = oDesktop.LoadComponentFromURL(Fichier, "_blank", 0, Args()) ' '... ' 'Enregistrement du fichier oDoc.storeAsURL ("file:///C:/monFichier.ods", Opt()) ' '... ' 'Fermeture du fichier 'True indique que l'on sauvegarde les modifications éventuelles oDoc.Close( True ) End Sub |
Téléchargez le tableur démo.
Ce tableur permet de visualiser des couleurs en paramétrant les valeurs RGB (rouge ,vert ,bleu) dans une boite de dialogue.
L'équivalence aux formats Hex et Long s'affiche automatiquement.
Il est aussi possible de saisir une valeur Hex ou Long pour rechercher l'équivalence RGB.
Un TextField permet de visualiser le résultat de la couleur paramétrée. Vous pouvez ensuite récupérer le code couleur en fonction de vos besoins, et dans le format qui vous intéresse (Hex ,Long ou RGB).
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Sub UtiserFonctionsCalc_Par_Macro Dim Feuille As Object Dim oFonction as Object oFonction = _ CreateUnoService("com.sun.star.sheet.FunctionAccess") 'Définit la feuille contenant les données Feuille = ThisComponent.Sheets.getByName("Feuille1") '--- Additionne les valeurs de la plage A1:A10 --- MsgBox oFonction.callFunction("SUM", _ Array(Feuille.getCellRangeByName("A1:A10"))) '--- Affiche la valeur maxi contenue dans la plage A1:A10 --- MsgBox oFonction.callFunction("MAX", _ Array(Feuille.getCellRangeByName("A1:A10"))) End Sub |
Nous allons voir comment à l'aide du fonction vous allez pouvoir remplacer dans la valeur d'une cellule le point par une virgule.
L'exemple, ci-dessous, vous montre comment le faire sur la cellule active d'un classeur :
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | Function Remplacer_Decimal_avec_Point() Dim texte$ Dim soluce$ 'Identifie la cellule active du classeur maCellule = ThisComponent.CurrentSelection 'enregistre la valeur contenue dans la cellule texte = maCellule.String e= "^-?([0-9])+(\.?)[0-9]+$" If RegExp(texte, e) = True Then soluce = REPLACE(texte, ".", ",") Msgbox soluce maCellule.value = soluce Else Msgbox "Cette chaîne n'est pas un nombre décimal" End If End Function ''' ' Function de recherche d'expression régulière ' param chaineTexte$ Chaine de texte a chercher ' param expReg$ Expression régulière ' return boolean Function RegExp( chaineTexte$, expReg$) Dim oTextSearch as Object Dim oSearchOpts as Object Dim oResult as Object oTextSearch = createUnoService("com.sun.star.util.TextSearch") oSearchOpts = CreateUnoStruct("com.sun.star.util.SearchOptions") oSearchOpts.algorithmType = com.sun.star.util.SearchAlgorithms.REGEXP oSearchOpts.searchFlag = com.sun.star.util.SearchFlags.REG_NOSUB ' REG_NOSUB est le flag pour que ça renvoie juste vrai ou faux, ' REG_EXTENDED permettrait d'avoir plus d'infos oSearchOpts.searchString = expReg$ oTextSearch.setOptions(oSearchOpts) oResult = oTextSearch.searchForward( chaineTexte$, 0, Len(chaineTexte$) ) If oResult.subRegExpressions = 0 Then RegExp = False else RegExp = true End If End Function |
Nous allons voir comment à l'aide du fonction vous allez pouvoir ouvrir un fichier existant
L'exemple, ci-dessous, vous montre comment le faire :
Code vb : | Sélectionner tout |
1 2 3 4 | Sub Ouvrir(CeClasseurPath,CeClasseurName) Dim oDoc As Object oDoc = StartDesktop.loadComponentFromURL(ConvertToURL(CeClasseurPath & "/" & CeClasseurName), "_blank", 0, Array()) End Sub |
Nous allons voir comment à l'aide du fonction vous allez pouvoir savoir si c'est un document Calc.
L'exemple, ci-dessous, vous montre comment le faire :
Code : | Sélectionner tout |
1 2 3 | Function IsSpreadsheetDocument( oDoc As Object ) As Boolean IsSpreadsheetDocument = oDoc.supportsService( "com.sun.star.sheet.SpreadsheetDocument" ) End Function |
Nous allons voir comment à l'aide du fonction vous allez pouvoir lister toutes les feuilles contenues dans un classeur.
L'exemple, ci-dessous, vous montre comment le faire :
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | Sub ListerLesFeuillesDuClasseur() Dim oSheet As Object Dim eSheets As Object eSheets = oDoc.getSheets.createEnumeration While eSheets.hasMoreElements oSheet = eSheets.nextElement() ' Ici vous pouvez travailler sur la feuille MsgBox "Le nom de la prochaine feuille est " & oSheet.getName & "." Wend End Sub |
Nous allons voir comment à l'aide du fonction vous allez pouvoir connaître le type de contenu d'une cellule.
L'exemple, ci-dessous, vous montre comment le faire :
Code vb : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Function TypeDeContenu(DeCetteCellule)As Variant Select Case oCell.Type Case com.sun.star.table.CellContentType.EMPTY ' La cellule est vide TypeDeContenu="Null" Case com.sun.star.table.CellContentType.VALUE ' La cellule contient un nombre TypeDeContenu="Value" Case com.sun.star.table.CellContentType.TEXT 'La cellule contient du texte TypeDeContenu="Variant" Case com.sun.star.table.CellContentType.FORMULA ' La cellule contienjt une formule TypeDeContenu="Formula" End Select End Function |
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.