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 :

Petit exercice sur les macros - Colorier des cases selon 2 conditions / Pas de MFC [XL-365]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Bureau d'études Electricité
    Inscrit en
    Octobre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Bureau d'études Electricité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2016
    Messages : 23
    Points : 19
    Points
    19
    Par défaut Petit exercice sur les macros - Colorier des cases selon 2 conditions / Pas de MFC
    Bonjour,

    je vous fais faire un petit exercice car j'aimerais obtenir un résultat pour terminer un fichier vendredi et je n'aurais pas le temps d'y réfléchir d'ici là.

    L'idée est de colorier des cases selon 2 conditions.

    Tout est indiqué dans le fichier joint, cela ne doit pas être compliqué.

    Je voudrais une macro car d'une part c'est plus facile et plus graphique pour choisir la couleur et de plus, avec les MFC, je me retrouve toujours avec pleins de conditions utilisant la même formule mais sur des plages différentes au bout de quelques utilisations (ajout de lignes principalement).

    Merci.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre chevronné Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Points : 1 971
    Points
    1 971
    Par défaut
    Bonsoir,

    Citation Envoyé par TruffExcel Voir le message
    Bonjour,
    je vous fais faire un petit exercice car.. je n'aurais pas le temps d'y réfléchir...
    Ça a le mérite d'être clair 🙄, il y a une section devis sur le forum ?

    Bonne réflexion,
    MFoxy
    Michaël

    Si mon aide/avis vous a été profitable , n'hésitez pas à cliquer sur , ça fait toujours plaisir...
    _________________________________________________________________________________________________________________

    "Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu'il est stupide..."
    Albert Einstein

  3. #3
    Membre à l'essai
    Homme Profil pro
    Bureau d'études Electricité
    Inscrit en
    Octobre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Bureau d'études Electricité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2016
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Oui mfoxy, c'est un peu ça

    Je m'y met maintenant mais il y a des chances que j'ai une réponse avant d'arriver à un résultat fonctionnel, allez j'essaie!

    EDIT : Après 2h30 de réflexion! Voici le début, je ne suis pas sûr de bien partir

    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
    Option Explicit
    Sub colorier()
     
    Dim cell As Range
    Dim tableau As Range 'plage nommée(B1:H9), la zone à mettre en couleur
    Dim params As Range 'plage nommée(A16:A24), le choix du code couleur qui sera appliqué
    Dim pick As Integer 'la valeur trouvée dans la zone params
     
    Range("tableau").Select
    For Each cell In Selection
     
        If cell.Value <> "" Then
            'Faire ici une sauvegarde de l'emplacement de la cellule lue
            pick = WorksheetFunction.VLookup(Range("A1"), Range("params"), 1, False) 'A1 à remplacer par la 1ère colonne du tableau de la ligne en cours de lecture offset(0,-1)
            'a continuer à partir d'ici, comment selectionner pick pour en faire un copier/coller du format ?
            cell.Interior.Color = 65535 ' à remplacer par la couleur copiée
        Else
            cell.Interior.Color = xlNone
        End If
     
    Next cell
     
    End Sub
    Je continuerais ce soir.
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 914
    Points : 5 121
    Points
    5 121
    Par défaut
    bonjour
    à tester
    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
    Option Explicit
    Sub colorier()
    Dim cell As Range
    Dim C
    Dim Col
    Dim L As Integer
    Dim params As Range
    Range("B1:H9").Interior.Pattern = xlNone
     For L = 1 To 9
    Set C = Range("params").Find(Cells(L, "A"), LookIn:=xlValues, lookat:=xlWhole)
         If Not C Is Nothing Then
         For Col = 2 To 8
         If Cells(L, Col) <> "" Then Cells(L, Col).Interior.Color = Cells(C.Row, "A").Interior.Color
         Next Col
     
     End If
    Next L
    End Sub
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  5. #5
    Membre à l'essai
    Homme Profil pro
    Bureau d'études Electricité
    Inscrit en
    Octobre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Bureau d'études Electricité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2016
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Bonjour et merci BENNASR,

    Ca fait exactement ce que je veux.


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

Discussions similaires

  1. petit exercices sur les requetes sql
    Par michaelm1 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/12/2008, 12h57
  2. {VBA Excel} Colorier des cases selon la valeur dans une autre
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/06/2008, 09h56
  3. [MCD] Où trouver des exercices sur les MCD ?
    Par quaresma dans le forum Schéma
    Réponses: 4
    Dernier message: 24/01/2008, 22h27
  4. petite question sur les macros complémentaires
    Par kbakouan dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/07/2007, 15h17
  5. Exercice et tutos sur les macros ?
    Par Herman dans le forum Excel
    Réponses: 1
    Dernier message: 24/03/2007, 08h12

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