Accueil Fonctions Calc Menu Basic EDI OOo 1.x EDI OOo 2.x EDI LibO - OOo 3.x Affectation touche Affectation icône Etape par étape Macro débutant Fonctions Basic Dialogues OOo1-2 Dialogues LibO-OOo3 Quelques exemples Exemples dialogue Fonctions perso Définitions Recherche sur site


FONCTIONS BASIC. Fonctions diverses

 




Accès direct : Menu fonctions Basic, Textes, Dates et heures, Logiques, mathématiques, Ecran, Fichiers, Variables, Erreurs, Divers,


Fonctions T* Retour Exemple Résultat Commentaires
Beep I   Beep   Envoie un son non modifiable.
Choose (Index, Selection1[, Selection2, ... [,Selection_n]]) F   MaVariable=0
Retour = Choose (MaVariable, "A", "B", "C")
  Retourne une valeur sélectionnée dans une liste. Si index inférieur à 1 ou supérieur au nombre d'expressions de la liste, la fonction retourne la valeur Null.
MaVariable=2
Retour = Choose (MaVariable, "A", "B", "C")
B
Call I   Call MaProcedure   Appelle une sous-routine, une fonction ou à une procédure DLL.
CreateObject F        
Declare I       Déclare et définit une sous-routine dans un fichier DLL à exécuter à partir de OpenOffice.org Basic
End I   End   Fin d'une procédure ou d'un bloc
End : non obligatoire, met fin à l'exécution du programme.
End Function : fin d'une instruction Function.
End If : fin d'un bloc If...Then...Else.
End Select : fin d'un bloc Select Case.
End Sub : fin d'une instruction Sub
End With : fin d'une instruction With
Environ F Chaîne MaVariable = Environ("PATH")   Retourne la valeur d'une variable d'environnement sous forme de chaîne de caractères dépendant du système d'exploitation utilisé.
Exit     Exit Do   Quitte une boucle: Exit.. Do, Exit.. For, une fonction : Exit.. Function, une sous-routine :Exit.. Sub. Dans les boucles imbriquées passent à la prochaine boucle de niveau supérieur.
FreeLibrary (LibName As String) F       Décharge les DLL précédemment chargés par Declare.
Function         Sous-routine retournant une ou plusieurs valeurs et finissant par End Function
GetGuiType F   MaVariable = GetGuiType()   Retourne une valeur désignant l'interface utilisateur (1: Windows, 3: Mac OS, 4: UNIX)
GetSolarVersion F Chaîne s = GetSolarVersion   Retourne le numéro de version de OpenOffice.org
Gosub I   Gosub MesCalculs le programme se poursuit à la routine MesCalculs: Appelle une sous-routine indiquée par une étiquette provenant d'une sous-routine ou d'une fonction. Les instructions suivant l'étiquette sont exécutées jusqu'à l'instruction Return suivante, puis revient à l'instruction suivant GoSub. Pour définir une étiquette, assignez un nom suivi du signe deux-points (":").
GoTo étiquette I   Goto SuiteMacro le programme se poursuit à l'étiquette SuiteMacro: Poursuit l'exécution d'un programme en sautant directement à la ligne de procédure indiquée par une étiquette. Pour définir une étiquette, assignez un nom suivi du signe deux-points (":").
Instruction interdite pour quitter SUB ou FUNCTION.
Iff I        
On valeur Gosub étiquette1, étiquette2,... I       Branche à une sous-routine en fonction d'une valeur numérique de 0 à 255. Si égale à zéro, instruction non executée.
On valeur Goto étiquette1, étiquette2,... I       Branche à une étiquette en fonction d'une valeur numérique de 0 à 255. Si égale à zéro, instruction non executée.
Stop I   Stop   Arrête l'exécution du programme Basic.
Sub     Sub MaMacro   Définit une sous-routine.
Switch (Expression1, Value1[, Expression2, Value2[..., Expression_n, Value_n]]) F   Choix = 2
MaVariable = Switch (Choix = 1, "ABC", Choix = 2, "XYZ")
XYZ Retourne la valeur assignée à l'expression de la fonction. Expression et valeur doivent être paires, sinon erreur d'exécution.
Return I       Voir Gosub
ThisComponent I   MonDocument = ThisComponent   Adresse le composant actif pour pouvoir lire et définir ses propriétés.
With          

 

 

 

 

Les boucles

 

 

En italique, les instructions non indispensables, mais qui servent à la compréhension

Do... Loop

Répète les instructions comprises entre Do et Loop tant que la condition est remplie (True) ou jusqu'à ce qu'elle le soit.

Ecriture Exemple 1 Exemple 2 Ecriture Exemple 3 Exemple 4 Ecriture exemple 5
Do [{While | Until} condition = True] Do Until a>6 Do While a<7 Do Do Do Do Do
bloc d'instructions a = a + 2 a = a + 2 bloc d'instructions a = a + 2 a = a + 2 bloc d'instructions a = a + 2
[Exit Do]     [Exit Do]     [Exit Do] If a >6 Then Exit Do
bloc d'instructions b = a*2 + b b = a*2 + b bloc d'instructions b = a*2 + b b = a*2 + b bloc d'instructions b = a*2 + b
Loop Loop Loop Loop [{While | Until} condition = True] Loop Until a>6 Loop While a<7 Loop Loop

Les 5 exemples donnent des résultats identiques, seules les écritures changent. A noter pour l'exemple 5, le Exit Do devient indispensable (sinon boucle sans fin).

Les différences entre Until et While sont :

While... Wend

Quand un programme rencontre While, il vérifie la condition. Si elle n'est pas remplie (False), le programme se poursuit à partir des instructions après Wend. Si elle est remplie (True), la boucle est exécutée jusqu'à ce que le programme trouve Wend et revienne ensuite à While. Si la condition est encore remplie (True), la boucle est de nouveau exécutée.

Ecriture exemple  
While condition While a<7  
bloc d'instructions a = a + 2  
    Exit interdit
bloc d'instructions b = a*2 + b  
Wend Wend  

Ce type de boucle n'est pas recommandé. Exit est interdit et un GoTo risque de provoquer des erreurs. Do... Loop est préférable.

 

For... Next

Répète n fois les instructions comprises dans le bloc For...Next.

Compteur : valeur numérique. Augmente ou diminue en fonction de Pas jusqu'à ce que Fin soit transmis.
Début : Valeur initiale.
Fin : Valeur finale.
Pas : Facteur d'augmentation ou de réduction du compteur de boucles. Si Pas omis, le compteur de boucles est incrémenté de 1 (Fin > Début).

Ecriture exemple 1 exemple 2 exemple 3
For compteur=début To fin [Step pas] For i =1 To 10 For i =1 To 10 Step 2 For i =10 To 10 Step -1
bloc d'instructions a = a + 2 a = a + 2 a = a + 2
[Exit For]   If a >6 Then Exit For If a =7 Then Exit For
bloc d'instructions b = a*2 + b b = a*2 + b b = a*2 + b
Next [compteur] Next i Next i Next i

Il est possible d'imbriquer (mais non de faire chevaucher) des instructions For...Next.

Autorisé Interdit
For a =1 To 10
    bloc d'instructions
    For b = 4 to 20
        bloc d'instructions
    Next b
Next a
For a =1 To 10
    bloc d'instructions
    For b = 4 to 20
    Next a
        bloc d'instructions
Next b

 

 

 

 

Instructions conditionnelles

 

 

If...Then...ElseIf... Else

Définit un ou plusieurs blocs d'instructions ne devant s'exécuter que si une condition donnée est remplie (True)

Ecriture exemple 1 exemple 2 exemple 3
If condition=true Then If i = 2 Then If i = 2 Then If i = 2 Then
bloc d'instructions a = 1 a = 1  
[ElseIf condition=true Then]   ElseIf i =4 Then  
    a = 3  
    ElseIf i =5 Then  
bloc d'instructions   a = 5  
[Else]   Else Else
bloc d'instructions   a = 6 a = 6
End If End If End If End If

Nota : GoTo et Gosub sont autorisés pour sortir de If... Else... Endif, mais pas pour y entrer.

 

 

Select Case

Définit un ou plusieurs blocs d'instructions en fonction de la valeur d'une expression.

Ecriture exemple 1 exemple 2 exemple 3
Select Case condition Select Case MaValeur Select Case MaValeur Select Case MaValeur
Case expression Case 1 To 3 Case 1 To 3 Case 1 To 3
Bloc d'instructions Print "Valeur de 1 à 3" Print "Valeur de 1 à 3" Print "Valeur de 1 à 3"
[Case expression] Case 4, 5, 6, 7 Case 4 To 7  
[Bloc d'instructions] Print "Valeur de 4 à 7 " Print "Valeur de 4 à 7 "  
[Case Else] Case Else    
[Bloc d'instructions] Print "Valeur dépassée"    
End Select End Select End Select End Select

 


 


 

Ce site n'est plus mis à jour. Merci aux nombreux visiteurs depuis 2003. Consultez le Wiki LibreOffice.
   

Le tableur Calc par l'exemple : christianwtd@free.fr
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France License.

  .

Site optimisé pour Firefox

Dernière modification : 29/08/2010 à 18h47


Déjà plusieurs visites sur ce site depuis quelque temps (au moins vous et moi)

Compteur non certifié