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 :

Aide sur FormatConditions (mise en forme conditionnelle) [XL-2000]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut Aide sur FormatConditions (mise en forme conditionnelle)
    J'ai demandé de l'aide hier sur un ficher excel sur lequel je travaille pour ma fille. Voici le code en question que aalex_38 m'a aimablement fourni et qui fonctionne à merveille.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Count <> 1 Then Exit Sub ' on sort si plusieurs cellules cloquées
    If Target.Column <> 4 Then Exit Sub ' On sort si différent de colonne 4
    If IsEmpty(Target) Then
        Target = Day(Now()) & "/" & Month(Now) & "/" & Year(Now())
        Rows(Target.Row).Interior.ColorIndex = 4
    End If
    End Sub
    J'aimerais aller plus loin et rajouter à ce code deux conditions:
    i.e. si les cellules visées (Target.Row) ont une valeur de zéro ou elles sont vides, les laisser blanches.

    Pour l'instant j'ai fait la mise en forme conditionnelle à l'aide de l'utilitaire fourni sur excel. Mais je n'arrive pas à mettre le code en VBA pour obtenir les mêmes résultats, malgré mes multiples recherches et essais.

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut
    Ta question est étonnante
    si les cellules visées (Target.Row) ont une valeur de zéro ou elles sont vides, les laisser blanches.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If IsEmpty(Target) Then
        Target = Day(Now()) & "/" & Month(Now) & "/" & Year(Now())
        Rows(Target.Row).Interior.ColorIndex = 4
    End If
    Elles ne le seront jamais puisque tu renseignes des données dans cette cellule justement si elle est vide... donc aprés elle ne l'est plus forcement. Précise un peu plus ce que tu souhaites faire.

    Au passge il existe la fonction Format
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Target = Format(Now, "dd/mm/yyyy")
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Target = Day(Now()) & "/" & Month(Now) & "/" & Year(Now())
    Mais il me semblerait plus logique de faire ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    If IsEmpty(Target) Then
        'On format la cellule
        Target.NumberFormat = "dd/mm/yyyy"
        Target = Now
        'Target.EntireRow.Interior.ColorIndex = 4 'mais attention avec les colorations de ligne complete, les ascensseurs pete un peu les plombs des fois
        'il est preferable de coloré juste la plage necessaire
        Range(Cells(Target.Row, "A"), Cells(Target.Row, "F")).Interior.ColorIndex = 4 'a la place de "F" il fautr mettre la derniere colonne du tableau utilisé
    End If
    'Et pour éviter de se retrouver en mode édition
    Cancel = True
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut J'ajoute un exemple de mon ficher excel
    Afin de mieux faire comprendre mon besoin j'ajoute mon fichier
    Il faut double cliquer sur une cellule de la colonne "D" afin d'y inscrire la date du jour et colorier les cellules visées.

    Voir dans la mise en forme conditionnelle des cellules à partir de la colonne "E" pour comprendre mon besoin.

    Merci Qwazerty pour les informations sur les dates. Je vais les changer.
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Je crois que ton raisonnement au niveau des format conditionnel n'est pas bon.
    Regarde si ça correspond a ton besoin, seules les 5 dernières lignes fonctionnent.

    Si ton problème est lié a la présence des "0" dans les cellules, il te suffit de modifier les formule, je te l'ai fais sur la toute dernière ligne.

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 14
    Par défaut
    Allo,

    Merci Qwazerty pour l'attention que tu portes à ma demande.

    Dans le fond, je pourrais exprimer mon besoin comme suit:
    Sur la ligne, sur laquelle je double click, doit se colorier en vert seulement les cellules qui ont quelque chose dedans autre que zéro et qui ne sont pas vide.

    En fait, mon fichier donne exactement ce dont j'ai de besoin, sauf que j'aimerai limiter le coloriage avec un code en VBA.

    J'espère que je ne vous ai pas plus mélangé que d'autres choses

    Merci pour votre aide et entre-temps... je creuse, je creuse.

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Désolé d'insister sans vba, mais il est bien souvent préférable d'utiliser un maximum les capacité d'excel avant d'user de vba.
    Essai comme cela, toujours sur les 5 dernières lignes.
    Si ça te convient, je t'expliquerais pour mettre en place la formule conditionnel pour tout le tableau d'un coup sans utiliser l'extension de cellule, mais dans un 1er temps dis moi si cela convient a ton besoin.
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] condition basée sur une mise en forme conditionnelle
    Par scoulibri dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/04/2015, 11h43
  2. [XL-2003] Aide sur mise en forme conditionnelle svp
    Par christophesav dans le forum Conception
    Réponses: 5
    Dernier message: 02/10/2013, 22h19
  3. Réponses: 2
    Dernier message: 07/03/2008, 10h29
  4. Réponses: 4
    Dernier message: 15/11/2005, 18h53

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