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.


SommaireProgrammation OBasicOBasic : Tableur (69)
précédent sommaire suivant
 

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

Mis à jour le 2 août 2013 SilkyRoad

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

Mis à jour le 2 août 2013 SilkyRoad

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).

Mis à jour le 2 août 2013 SilkyRoad

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

Mis à jour le 2 août 2013 SilkyRoad

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

Mis à jour le 20 octobre 2014 madvic zoom61

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

Mis à jour le 23 février 2016 martinbrait

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

Mis à jour le 23 février 2016 martinbrait

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

Mis à jour le 23 février 2016 martinbrait

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

Mis à jour le 23 février 2016 martinbrait

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 ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les 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 © 2017 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.

 
Contacter le responsable de la rubrique OpenOffice & LibreOffice