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]

Répondre à