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 OBasicOBasic : TableurLes feuillesLes cellulesLes formats (3)
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
  
Sub MiseEnFormeCellule 
Dim oDoc As Object , Feuille As Object 
Dim Cellule As Object 
  
oDoc = ThisComponent 
Feuille = oDoc.getSheets.getByName("Feuille1") 
  
Cellule = Feuille.getCellRangeByName("A5")  
  
With Cellule 
  .setString( " mon texte " ) 'insére du texte dans la cellule 
  .CellBackColor = RGB(0,0,0) 'indique la couleur de fond 
  .paraAdjust = com.sun.star.style.ParagraphAdjust.CENTER 'alignement centré 
  .RotateAngle = 9000 'Rotation 9000 = 90° 
  .CharColor = RGB(255,0,0) 'couleur des caractères 
  .CharHeight = 16 'Taille catactères 
  .CharWeight = com.sun.star.awt.FontWeight.BOLD 'gras 
  .CharPosture = com.sun.star.awt.FontSlant.ITALIC 'italique 
  .CharFontName = "Arial" 'Font 
  .CharUnderline = com.sun.star.awt.FontUnderline.DOUBLE 'souligné double 
End With 
  
'Ajuste la hauteur de la 5eme ligne au contenu des cellules.  
Feuille.Rows(4).OptimalHeight = True 
  
End Sub

Mis à jour le 31 juillet 2013 SilkyRoad

De manière directe :

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 MiseEnFormeCelluleParDefaut  
	Dim oDoc As Object , Feuille As Object  
	Dim Cellule As Object  
  
	oDoc = ThisComponent  
	Feuille = oDoc.getSheets.getByName("Feuille1")  
	Cellule = Feuille.getCellRangeByName("A5")   
  
	With Cellule  
		.String = "" 
		.CellBackColor = -1 
		.paraAdjust = "" 
		.RotateAngle = 0 
		.CharColor = -1 
		.CharHeight = 10  
		.CharWeight = 100 
		.CharPosture = 0 
		.CharFontName = "Arial"   
		.CharUnderline = 0 
	End With 	 
  
End Sub

Ou plus proprement :
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 MiseEnFormeCelluleParDefaut 
	Dim oDoc As Object , Feuille As Object  
	Dim Cellule As Object  
  
	oDoc = ThisComponent  
	Feuille = oDoc.getSheets.getByName("Feuille1")  
	Cellule = Feuille.getCellRangeByName("A5")   
  
	With Cellule  
		.setPropertyToDefault("String") 
		.setPropertyToDefault("CellBackColor") 
		.setPropertyToDefault("paraAdjust") 
		.setPropertyToDefault("RotateAngle") 
		.setPropertyToDefault("CharColor") 
		.setPropertyToDefault("CharHeight") 
		.setPropertyToDefault("CharWeight") 
		.setPropertyToDefault("CharPosture") 
		.setPropertyToDefault("CharWeight") 
		.setPropertyToDefault("CharFontName") 
		.setPropertyToDefault("CharUnderline") 
	End With  
End Sub

Mis à jour le 22 octobre 2014 madvic

Cette fonction compte le nombre de cellules dans la plage B3:B10 dont la couleur de fond est identique à la couleur de fond de la cellule A1.

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
'--- Compte le nombre de couleurs identiques à une cellule de base. ---  
  
  ' CellBase est la cellule qui contient la couleur de référence.  
  
  ' Définition de la plage à tester:  
    ' ColDebut: Numero de la 1ere colonne dans la plage à contrôler  
    ' ColFin: Numero de la derniere colonne dans la plage à contrôler  
    ' LigDebut: Numero de la 1ere ligne dans la plage à contrôler  
    ' LigFin: Numero de la derniere ligne dans la plage à contrôler  
  
Function NbCouleursCible(NomFeuille As String, CellBase As String, _  
  ColDebut As Integer, ColFin As Integer, LigDebut As Integer, _  
  LigFin As Integer) As Integer  
  
Dim MaCoul As Double  
Dim X As Integer, Y As Integer , Resultat As Integer  
Dim Ws As Object, Cellule As Object  
  
Ws = ThisComponent.Sheets(NomFeuille)  
  
' Récupère la valeur de la couleur dans la cellule de base.  
MaCoul = Ws.getCellRangeByName(CellBase).CellBackColor  
NbCouleursCible = 0  
  
For X = ColDebut - 1 To Colfin - 1  
  For Y = LigDebut - 1  To LigFin - 1  
    Cellule = Ws.getCellByposition( X , Y )  
    If Cellule.CellBackColor = MaCoul Then Resultat = Resultat + 1  
  Next Y  
Next X  
  
NbCouleursCible = Resultat  
End Function
Code vb : Sélectionner tout
1
2
3
4
5
Sub Test  
  ' Compte le nombre de cellules dans la plage B3:B10 dont la  
  ' couleur est identique à la cellule A1.  
  MsgBox NbCouleursCible("Feuille1" ,"A1" ,2 ,2 ,3 ,10 )  
End Sub

Il est aussi possible d'insérer cette formule dans une cellule.
Code vb : Sélectionner tout
=NBCOULEURSCIBLE("Feuille1";"A1";2;2;3;10)

Mis à jour le 26 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.