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 :

Moulinette Couleurs cellules


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
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut Moulinette Couleurs cellules
    Bonjour,
    ma feuille Excel contient dans la colonne A :
    Classement (ligne 1)
    101 (ligne 2) etc...
    102
    103
    301
    302
    401
    402
    403
    601
    602
    603
    604
    En fonction du changement du premier chiffre de la
    colonne A c'est a dire 1 pour 101 ou 3 pour 301
    (le premier chiffre de la cellule)
    changer la couleur de la cellule
    C'est a dire de 101 a 103 les cellules en bleu
    de 301 a 302 les cellules en orange
    etc...
    Voici ma macro qui tourne en partie
    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
    27
    28
    29
    30
    31
    32
    33
    34
     
    Sub couleurs()
        Range("A1").Select
    coul_1 = 34
    coul_2 = 44
     
    n_cour = Cells(2, 1)
        n_course = Left(n_cour, 1)
        aaa = n_course
        bbb = aaa
     
    For i = 2 To 33
    If bbb = aaa Then
           Cells(i - 1, 1).Select
        With Selection.Interior
            .ColorIndex = coul_1
            .Pattern = xlSolid
        End With
    n_cour = Cells(i, 1)
        n_course = Left(n_cour, 1)
        aaa = n_course
    Else
        Cells(i - 1, 1).Select
        With Selection.Interior
            .ColorIndex = coul_2
            .Pattern = xlSolid
        End With
        n_cour = Cells(i + 1, 1)
        n_course = Left(n_cour, 1)
    bbb = aaa
    End If
    Next i
        Range("A1").Select
    End Sub
    Merci de m'aider

  2. #2
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonsoir,

    il faut ré-organiser ton code, d'abords tu d'aprés ce que je déchiffre tu doit par courir les lignes 2 à 33


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    For i = 2 to 33
    ..
    Next
    à l'intérieur de cette boucle tu dois récupérer le 1° caractére de la cellule dans colonne A

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    c = Left(Cells(i, 1),1)
    puis toujours dans la boucle for un select case .. pour modifier la couleur de la cellule modifiée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    With Cells(i , 1)
        Select case c
     
              case "1" 
                .ColorIndex = coul_1
              case "2"
                .ColorIndex = coul_2
             end select
      ' Ici rajout des valeurs communes
        .Pattern = xlSolid
     End With

    voilà pour le principe à toi de regrouper, j'ai pas excel sous la main pour vérifier .


    Bonne nuit

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Bonsoir, ou plutôt Bonjour,

    Je ne comprends pas cette instruction :

    .Pattern = xlSolid

    C'est quoi ?

    A te lire

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    La propriété Pattern définit le motif de fond de la cellule, si tu ne souhaites pas de motif particulier il n'est pas nécessaire de le préciser, par défaut la cellule n'aura pas de motif (xlSolid)

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Bonsoir,

    Après avoir décortiqué et compris les bouts de codes,
    J'ai modifié ma macro et j'ai le résultat souhaité.

    Merci a fring et a JackOuYA
    pour les bons conseils

    PS :
    Merci au site (aux membres, ou visiteurs)
    J'ai toujours résolu mes soucis a chaque post

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

Discussions similaires

  1. Changement couleur cellule EXCEL en fonction du texte
    Par kikaillo dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 14/04/2006, 14h22
  2. PB couleur cellule excel
    Par liviertlse dans le forum Langage
    Réponses: 4
    Dernier message: 21/03/2006, 07h54
  3. Changer de couleur cellule
    Par franck.automaticien dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 16/02/2006, 10h46
  4. Couleur cellule stringgrid sur condition...
    Par kobe dans le forum Composants VCL
    Réponses: 1
    Dernier message: 11/08/2005, 13h49
  5. Pilotage excel (couleur cellule)
    Par TheGoldViking dans le forum C++Builder
    Réponses: 1
    Dernier message: 14/04/2005, 10h59

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