Bonjour jacques
Voici un bout de code qui permet de colorisé le fond de cellules sous calc.
Moi je le fait pour 10 valeurs mais il suffit d'extrapoler.
Les couleurs sont direbctement en entier type long mais tu peut le faire
avec MaCellule.CellBackColor = RGB(x,x,x) ou x est l'indice de couleur entre
0 et 255.
Voilà Bon courage
François
rem * DECLARATION DES VARIABLES
dim i as integer
dim MaCellule as object
dim ValeurCellule as integer
rem * BOUCLE DE COLORATION
For i = 1 to 10
rem * ACCES A L'OBJET CELLULE EN FONCTION DE LA POSITION
MaCellule =
ThisComponent.Sheets.getByName("Feuille1").getCellByPosition(0,8+i)
rem * RECUPERATION DE LA VALEUR DE LA CELLULE
ValeurCellule = MaCellule.Value
' print ValeurCellule
rem * COLORATION EN FONCTION DE LA VALEUR
Select Case ValeurCellule
Case 0
MaCellule.CellBackColor = 16711680
Case 1
MaCellule.CellBackColor = 16724736
Case 2
MaCellule.CellBackColor = 16737792
Case 3
MaCellule.CellBackColor = 16750848
Case 4
MaCellule.CellBackColor = 16763904
Case 5
MaCellule.CellBackColor = 16776960
Case 6
MaCellule.CellBackColor = 13827846
Case 7
MaCellule.CellBackColor = 10878727
Case 8
MaCellule.CellBackColor = 7929608
Case 9
MaCellule.CellBackColor = 4980489
Case 10
MaCellule.CellBackColor = 2031370
Case Else
MaCellule.CellBackColor = -1
End Select
Next i
----- Original Message -----
From: "jacques23270" <[EMAIL PROTECTED]>
To: <prog@fr.openoffice.org>
Sent: Monday, May 28, 2007 5:28 PM
Subject: [prog] conversion macro excel vers Open
Bonjour,
Suite à un transfert de fichiers d’Excel vers Calc, j’ai un problème de
conversion de macro.
La macro sous Excel permet de mettre en couleur les cellules d’un planning
de
969 cases en fonction du contenu de la case et des infos d’une autre
feuille
contenant les codes couleurs et les différents textes servant à la
comparaison
(35 infos différentes).
Cela donne sous excel, le code suivant :
Option Explicit
Sub mise_en_couleur()
Dim Compt_colonne, Compt_ligne, Spinner, Strings, i, texte1, li, col,
colo,
ColorIndex As Integer
Dim msg, Style, Title, Réponse, MaChaine
msg = "Cette procédure dure de 30 à 60 secondes, Voulez-vous la lancer ?"
'
Définit le message.
Style = vbYesNo ' Définit les boutons.
Title = "Mise en couleur du planning année" ' Définit les titres.
' Affiche le message.
Réponse = MsgBox(msg, Style, Title)
If Réponse = vbYes Then ' L'utilisateur a choisi le bouton Oui.
MaChaine = "Oui" ' Accomplit une action.
'mise en couleur
Sheets("4-plan-année").Select
ActiveSheet.Unprotect
Range("F7").Select
li = 6
col = 5
For i = 1 To 35
Sheets("3-Récapitulatif année").Select
Cells(li, col).Activate
Strings = ActiveCell.Value
Sheets("3-Récapitulatif année").Select
Cells(li, (col - 4)).Activate
texte1 = ActiveCell.Value
Sheets("4-plan-année").Select
For Compt_colonne = 6 To 25
For Compt_ligne = 7 To 58
If Cells(Compt_ligne, Compt_colonne) = Strings Then
Cells(Compt_ligne, Compt_colonne).Interior.ColorIndex =
texte1
End If
Next
Next
li = li + 1
Next
End If
Range("F7").Select
End Sub
Mon problème est de passer cette macro sous Calc.
Quelqu’un peut-il m’aider ? d’avance merci
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------------------------
Orange vous informe que cet e-mail a ete controle par l'anti-virus mail.
Aucun virus connu a ce jour par nos services n'a ete detecte.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]