MFC illimitée, mais sur une ligne complète !

Céline -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

J'ai longuement parcouru le forum pour répondre à ma question et je ne trouve pas de réponse.
J'ai une colonne qui contient une liste de validation avec 6 cas possibles, je souhaiterais affecter une couleur à la ligne complète pour 5 de ces 6 cas. J'y arrive pour 3 avec la mise en forme conditionnelle d'Excel 2000 mais pour 5 il faut a priori faire une macro et là ........Aïe !
Merci pour votre aide
(Colonne I, onglet gestion, cas possibles : AF, EC, BQ, CTD, LIV, AN )

j'imagine un truc du style :

Pour j=2 a j=65536
si I(j)="EC" alors format ligne j=violet
si I(j)="BQ" alors format ligne j=rose
...
sinon rien
j=j+1

A voir également:

2 réponses

Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 462
 
Salut,

tu as une solution et un fichier exemple ICI

Bonne journée
0
Céline
 
J'avais trouvé, mais je ne sais pas comment modifier la macro pour que ce ne soit pas uniquement UNE cellule qui change, mais bien toute la ligne !
0
ccm81 Messages postés 11033 Statut Membre 2 434
 
supposons qu'en colonne A on ait la suite des nombres de 1 à 20

mettre un bouton et y affecter le code suivant

Private Sub CommandButton1_Click()
Const nbli = 20
Dim nuli As Long
Dim c As Variant
Range("A1:A20").ClearFormats
For nuli = 1 To nbli
  With ActiveSheet
    c = .Cells(nuli, 1)
    If (c Mod 5) = (nuli Mod 5) Then
      .Cells(nuli, 1).Interior.ColorIndex = 1 + nuli Mod 5
    End If
  End With
Next nuli
End Sub


a modifier selon le besoin
RQ. Est il judicieux de faire àa sur toutes les 65536 lignes, ça va faire un gros fichier pour rien

bonne suite
0
Céline
 
Effectivement, la taille de mon tableau exede rarement les 1000 lignes, donc je pourrais me limiter à 1000. Par contre, la solution du bouton ne convient pas à mon besoin. Puis-je faire executer cette macro dans le SheetChange ?
0
ccm81 Messages postés 11033 Statut Membre 2 434
 
je pense que oui, (copier le corps de la procédure ou faire un appel avec call) mais le mieux c'est d'essayer !!!
0