Macro pour mettre en forme une ligne selon la valeur d'une cellule

swer

XLDnaute Nouveau
Bonjour tout le monde,


J'ai besoin de votre aide concernant un fichier avec un nombre tres important de lignes. J'ai besoin de faire une opération toute simple mais au vu du nombre de lignes, je gagnerais un temps fou a l'automatiser avec une macro.

En gros, il faut que la macro "lise" la valeur d'une cellule dans le colonne N et si la valeur correspond au texte "Cloturé", alors cela doit selectionné les cellules B à BM sur cette ligne et mettre le fond en gris clair et le texte en gris foncé.

Et cette opération doit etre faite sur tous le fichier.


En gros il faudrait créer une boucle pour lui faire lire toutes la colonne N une cellule par une celulle et un fonction IF ou on definirait la mise en forme si c'est égale a "Cloturé" mais je ne sais pas faire cela avec une Macro..

J'attends votre aide!

Merci
 

Hippolite

XLDnaute Accro
Re : Macro pour mettre en forme une ligne selon la valeur d'une cellule

Bonjour,
Je ne suis pas sûr d'avoir compris ce que tu veux faire.
Si c'est pour une mise en forme des lignes "Cloturé", tu peux utiliser le filtre automatique sur la colonne N, puis tout sélectionner, puis menu Editon/atteindre.../cellules.../Cellules visibles seulemement
Et là, si tu fais une mise en forme, elle ne s'appliquera qu'aux lignes "Cloturé".
 

swer

XLDnaute Nouveau
Re : Macro pour mettre en forme une ligne selon la valeur d'une cellule

Merci de ta reponse,

C'est vrai que ta solution marche tres bien pour mon cas meme si elle est pas idéal car j'ai quand meme énormement de lignes à traiter et donc la mise en place prend toujours "un peu" de temps..

Mais bon cela m'arrange déja énormement alors je te dis merci

Toutefois, si quelqu'un connait une macro comme je l'ai décrit plus haut, je suis toujours preneur ;)
 

Victor21

XLDnaute Barbatruc
Re : Macro pour mettre en forme une ligne selon la valeur d'une cellule

Bonjour, swer.

Si vous ne voulez pas utiliser la mise en forme conditionnelle, demandez à VBA de le faire à votre place :
Sélectionnez B2 : BMx (x étant la dernière ligne de votre tableau) et lancez cette macro (obtenue simplement avec l'enregistreur de macro, et "nettoyée):
Code:
Sub MacroMefc()
    With Selection
        .FormatConditions.Add Type:=xlExpression, Formula1:="=$N2=""Clôturé"""
        .FormatConditions(1).Font.ColorIndex = 56
        .FormatConditions(1).Interior.ColorIndex = 15
    End With
End Sub
Cette solution vous convient-elle ?

Cordialement,
 

Hippolite

XLDnaute Accro
Re : Macro pour mettre en forme une ligne selon la valeur d'une cellule

Re,
Juste un détail, ne sachant pas coment est rempli la colonne N.
S'il y a un risque que Cloturé soit écrit sans accent, alors il faut remplacer
Code:
 Selection.AutoFilter Field:=1, Criteria1:="Cloturé"
par
Code:
Selection.AutoFilter Field:=1, Criteria1:="=Cloturé", _
Operator:=xlOr, Criteria2:="=Cloture"

Nota : Personnellement, quand il y a beaucoup de lignes, je préfère utiliser une macro plutôt qu'une MFC qui alourdit la taile du fichier.

Ajout : J'en apprends toujours, je ne connaissais pas "FormatConditions" C'est effectivement beaucoup plus élégant.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 361
Messages
2 087 626
Membres
103 611
dernier inscrit
sebboes