IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Si cellule N1=1 ==> Alors mets en Rouge A1:M1


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 401
    Par défaut Si cellule N1=1 ==> Alors mets en Rouge A1:M1
    Bonjour,
    J'ai essayé comme des millions de gens de faire une mise en forme conditionnelle (condition sur une cellule) et appliquer le format sur toute la ligne,
    donc je me suis senti obligé de passer par une Macro, chose que je ne maîtrise pas vraiment, voilà ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    With Range("A1:C1")
        'Supprime les MFC existantes
        .FormatConditions.Delete
     
           'Ajoute une condition (Vrai lorsque la cellule est non vide)
        .FormatConditions.Add Type:=xlExpression, Formula1:="=NOW()"
     
        With .FormatConditions(1)
            'Définit la couleur de fond de la cellule lorsque la condition sera vraie.
            .Interior.ColorIndex = 15 'Gris
     
            'Affecte le style "gras" à la police
            .Font.Bold = True
     
            'Styles de ligne:
            'xlNone, xlSolid, xlDash, xlDot, xlDashDot, xlDashDotDot, xlGray50, xlGray75, et xlGray25.
            .Borders.LineStyle = xlContinuous
     
            'Couleur bordure
            .Borders.ColorIndex = 5 'Bleu
     
            'Epaisseur trait de la bordure
            .Borders.Weight = xlThin 'Autre constante disponible: xlHairline
        End With
        End With
    Alors mon Range, fonctionne bien, mais ma formule ne fonctionne pas du tout

    ===>> Au lieu de ce Code assez compliqué, Je voulais donc savoir comment je pourrai faire ceci en VBA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Si la cellule N1 = 1 alors tu me colories en Rouge la ligne A1:M1
    Si la cellule N2 = 1 alors tu me colories en Rouge la ligne A2:M2
    ...
    ..
    .
    Merci de votre retour

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    coder en VBA n'est pas vraiment utile dans ce cas car normalement réalisable dans une mise en forme conditionnelle …

    Ce serait bien de préciser quand même la version d'Excel et la difficulté rencontrée avec la MFC
    ainsi que le nombre de lignes concernées (cas où le VBA serait utile afin d'alléger la taille du classeur) …

  3. #3
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    MFC>VBA

    Si tu insistes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With Feuil1
    For i = 1 to ....
    If .range("N" & i)=1 then
    .range("A" & i & ":" & "M" & i).interior.color=RGB(100,0,0)
    End if
    Next i
    end with

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 401
    Par défaut
    Citation Envoyé par EngueEngue Voir le message
    MFC>VBA

    Si tu insistes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With Feuil1
    For i = 1 to ....
    If .range("N" & i)=1 then
    .range("A" & i & ":" & "M" & i).interior.color=RGB(100,0,0)
    End if
    Next i
    end with
    Merci beaucoup,
    ça marche bien

    mais je ne comprends pas pourquoi vous dites : MFC > VBA ?

  5. #5
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Parce qu'une MFC est simple adaptable, utilisable par tout le monde et n'a pas besoin d'un XLSM

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 401
    Par défaut
    Oui j'ai essayé, mais les MFC ne le font pas sur toute la ligne, mais uniquement sur une seule cellule.

Discussions similaires

  1. [XL-2003] Si la cellule contient un mot alors.
    Par facteur dans le forum Excel
    Réponses: 2
    Dernier message: 23/03/2012, 16h47
  2. [XL-2003] si la cellule contient un mot alors
    Par facteur dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/10/2010, 23h34
  3. Si la cellule est vide alors supprimer la ligne correspondante
    Par dolin007 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 20/11/2009, 14h09
  4. Réponses: 3
    Dernier message: 22/10/2008, 21h00
  5. [Tableaux] si cellule vide, alors cellule inexistante
    Par afrodje dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 31/07/2007, 13h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo