Bonjour Franois et merci pour ce coup de main,
Ta colorisation est faite en fonction de valeur numrique, si je dfinie
ValeurCellule comme chane de caractre, cela peut-il fonctionner ?
Pour les couleurs en entier type long comment avoir la couleur et son
quivalent en valeur numrique ?
D'avance merci 
------- Message d'origine -------
De: SEGUIN Franois
Date: 28/05/2007 18:16:26
A: prog@fr.openoffice.org
Sujet: Re: [prog] conversion macro excel vers Open
 
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 à