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 :

Colorer des lignes en fonction de la valeur d'une colonne [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Colorer des lignes en fonction de la valeur d'une colonne
    Bonjour,

    je commence tout juste a travailler sur les macro en vba sur excel
    et je n'arrive pas a colorer des ligne en fonction des noms de la colonne A.

    je m'explique:
    en appuyant sur un bouton:si les noms de la collone A sont similaires j'aimerais les colorer des facon automatique.

    information importante: le tableu est régénéré de tacon automatique grâce a une connexion odbc, il faut aussi savoir que grace au bouton date, je trie le tableau en fonction de l'année et du mois



    voila merci d'avance

    Antonin

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 199
    Points : 319
    Points
    319
    Par défaut
    Bonjour,

    Vous voulez que toutes les lignes portant le meme nom soient colorées de la meme couleur ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    oui c'est bien cela
    mais il faut que la coloration se fasse de facon automatique vu que le tableau est destiner a s'agrandir

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 199
    Points : 319
    Points
    319
    Par défaut
    un truc du genre

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
     
     
    Sub testii()
    Dim table_1() As Variant, i As Long
    Dim table_2() As Variant, j As Long, k As Long
    Dim doublon As Boolean
    Dim nbColol As Integer
    Dim couleurLigne As Integer
     
    'Derniere ligne de la colonne
    derLigne = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
     
    'nombre de Nom sans doublon
    nbColol = 0
     
    couleurLigne = 2 'Blanc
     
    k = 1
     
    'la plage de données
    table_1 = Sheets("Feuil1").Range(Cells(1, 1), Cells(derLigne, 1)).Value
    doublon = False
     
    For i = 1 To UBound(table_1, 1)
        doublon = False
        For j = i + 1 To UBound(table_1, 1)
            If table_1(i, 1) = table_1(j, 1) Then
                doublon = True
            End If
        Next j
     
        If doublon = False Then
            nbColol = nbColol + 1
            ReDim Preserve table_2(1 To k)
            table_2(k) = table_1(i, 1)
            k = k + 1
        End If
    Next i
     
    'Boucle sur les éléments du tableau pour lire leur contenu
    For i = 1 To nbColol
        leNom = table_2(i)
        couleurLigne = couleurLigne + 1
     
        For cpt = 1 To derLigne
            If Trim(Sheets("Feuil1").Cells(cpt, 1)) = leNom Then
                Sheets("Feuil1").Cells(cpt, 1).Interior.ColorIndex = couleurLigne
            End If
     
        Next cpt
     
    Next i
    End Sub

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    merci beaucoup cela marche parfaitement

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

Discussions similaires

  1. Copier coller des lignes en fonction de la valeurs d'une cellule
    Par Tyu38 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/09/2014, 09h38
  2. [XL-2010] supprimer des lignes en fonction de la valeur de la cellule d'une colonne
    Par psylo24 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2012, 13h09
  3. Réponses: 5
    Dernier message: 21/12/2011, 08h31
  4. [XL-2007] Colorer la ligne en fonction de la valeur d'un champ
    Par fasedan dans le forum Conception
    Réponses: 4
    Dernier message: 12/07/2011, 18h53
  5. Réponses: 0
    Dernier message: 09/07/2011, 21h52

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