Bonjour Jacques,

Au lieu d'imbriquer des boucles et des switch, amha, tu dois pouvoir t'en sortir beaucoup plus efficacement avec des noms de styles bien choisis.

Tu nommes 35 styles de la façon suivante :
- Planning_toto
- Planning_titi
- Planning_tutu
- ...

où toto, titi, tutu et les 32 suivants représentent les différentes valeurs que tu peux trouver dans tes 969 cellules de planning.

ta macro sera donc réduite à :

si le syle ("Planning" & ContenuCellule ) existe alors
   StyleCellule = "Planning" & ContenuCellule

(à traduire en vrai OOoBasic)

Tu appeleras ensuite cette macro de façon séquentielle pour chaque cellule de ton champ Planning, ou mieux encore : de façon évènementiel à chaque changement de contenu d'une cellule de ce champ.

rmq : pour l'appel évènementiel, je n'ai jamais fait, mais il me semble avoir compris que c'était possible.

Donc en résumé, ça revient à faire un formatage conditionnel avec le nom du style calculé par une formule. Dommage que cette fonctionnalité ne soit pas intègrée à OOo, ce serait un plus par rapport à la concurence ;-)

En espèrant t'avoir aidé

Bob


jacques23270 a écrit :
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]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à