IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo

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 OBasicLes boîtes de dialogue BASICLes zones de liste: ListBox (7)
précédent sommaire suivant
 

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
Global oDialog1 As Object 
  
Sub AfficherBoiteDialogue_RemplissageListBox 
  Dim lesCellules As Object , Plage As Object 
  Dim Cellule As Object 
  Dim X As Long 
  
  DialogLibraries.LoadLibrary( "Standard" ) 
  'Dialog1 est le nom de la Form (clic-droit sur l'objet / propriétés / onglet Général / Nom) 
  oDialog1 = CreateUnoDialog( DialogLibraries.Standard.Dialog1 ) 
  
  'Indique la colonne A dans la feuille 
  Colonne = ThisComponent.Sheets.getByName("Feuille1").Columns(0) 
  lesCellules = ThisComponent.createInstance("com.sun.star.sheet.SheetCellRanges") 
  lesCellules.insertByName("",Colonne) 
  Plage = lesCellules.Cells.createEnumeration 
  
  'Boucle sur les cellules de la colonne A. 
  While Plage.hasMoreElements 
    Cellule = Plage.nextElement 
  
    '--- Remplissage de la ListBox: 
      'AddItem (Donnée à ajouter , Position dans ListBox ) 
      '0 correspond à la 1ere ligne de la ListBox 
    oDialog1.getControl("ListBox1").AddItem (Cellule.String, X ) 
    '----------------------------- 
  
    X = X + 1 
  Wend 
  
  'Affiche la boîte de dialogue 
  oDialog1.Execute() 
  
End Sub

Mis à jour le 13 octobre 2014 madvic SilkyRoad

Code vb : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub LireContenuLigneSelectionnee 
Dim j As Integer 
  
'Récupère la position de l'élément sélectionné. 
j = oDialog1.getControl("ListBox1").getSelectedItemPos() 
  
'Vérifie si un élément de la ListBox est sélectionné 
'Renvoie -1 si rien n'est sélectionné. 
If j = -1 Then Exit Sub 
  
MsgBox "Vous avez sélectionné la ligne " & j +1 & " qui contient la donnée: " & _ 
		 oDialog1.getControl("ListBox1").SelectedItem 
  
End Sub

Mis à jour le 2 août 2013 SilkyRoad

Code vb : Sélectionner tout
1
2
3
4
5
6
7
8
9
Sub BoucleElementsListBox 
  Dim i As Integer, X As Integer 
  
  i = oDialog1.getControl("ListBox1").getItemCount()  
  
  For X = 0 TO i - 1  
    MsgBox oDialog1.getControl("ListBox1").getItem(X)  
  Next 		  
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
Sub RemplissageListBox_Par_Tableau 
  Dim Tableau(19) As Integer 
  Dim i As Integer 
  Dim Mini As Integer, Maxi As Integer 
  
  '--- Remplissage du tableau à partir de données numériques 
  'générées de façon aléatoire. 
  Mini = 10 
  Maxi = 15 
  
  'Initialise le générateur de nombres aléatoires 
  Randomize 
  
  For i = 0 To 19 
    'Insère un nombre aléatoire entre 10 et 15 dans le tableau 
    Tableau(i) = Int((Maxi - Mini + 1) * Rnd + Mini) 
  Next i 
  '------------- 
  
  'Remplissage de la ListBox en utilisant le tableau 
  oDialog1.getControl("ListBox1").Model.StringItemList = Tableau() 
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
Sub BoucleElements_MultiSelection_ListBox 
  Dim Tableau() As Variant 
  Dim i As Integer 
  
  Tableau = oDialog1.getControl("ListBox1").SelectedItems  
  
  For i = 0 To UBound( Tableau() )  
    MsgBox Tableau(i)  
  Next i   
  
End Sub
La propriété doit être préalablement paramétrée pour autoriser la multisélection.
Cela peut être effectué manuellement dans les propriétés de l'objet ou par macro lors de l'intialisation de la boîte de dialogue :
Code vb : Sélectionner tout
 oDialog1.getControl("ListBox1").Model.MultiSelection = True

Mis à jour le 26 août 2013 SilkyRoad

Cet exemple supprime le premier élément dans la ListBox.

Code vb : Sélectionner tout
1
2
3
4
5
6
7
8
Sub SuppressionElementListBox 
  Dim Obj As Object 
  
  'Définit la ListBox dans la boîte de dialogue 
  Obj = oDialog1.GetControl("ListBox1") 
  'Supprime le 1er élément dans la ListBox 
  Obj.RemoveItems( 0 , 1 ) 
End Sub
Pour supprimer l'élément sélectionné, utilisez :
Code vb : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub SuppressionElementSelectionne 
  Dim Obj As Object 
  Dim j As Integer 
  
  'Récupère la position de l'élément sélectionné. 
  j = oDialog1.getControl("ListBox1").getSelectedItemPos() 
  
  'Vérifie si un élément de la ListBox est sélectionné 
  'Renvoie -1 si rien n'est sélectionné. 
  If j = -1 Then Exit Sub 
  
  'Définit la ListBox dans la boîte de dialogue 
  Obj = oDialog1.GetControl("ListBox1") 
  'Supprime l'élément sélectionné 
  Obj.RemoveItems( j , 1 ) 
End Sub

Mis à jour le 26 août 2013 SilkyRoad

Code vb : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 Dim oListBox As Object 
  Dim oFont As Object  
  
  'Spécifie la ListBox dans la boîte de dialogue. 
  oListBox = oDialog1.getControl("ListBox1")  
  
  oFont = oListBox.Model.FontDescriptor 
  
  'Définit la nouvelle police 
  oFont.Name = "Mistral" 
  'Modifie la taille de la police 
  oFont.Height = "16" 
  
  'Applique le changement de police  
  oListBox.Model.FontDescriptor = oFont

Mis à jour le 2 août 2013 SilkyRoad

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