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 :

Ecrire dans une cellule en fonction de la couleur d'une cellule de la meme ligne.


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut Ecrire dans une cellule en fonction de la couleur d'une cellule de la meme ligne.
    Bonjour à tous et tout d'abord merci d'avance pour vos réponses.

    La colonne A possède des cellules colorées (Bleues).

    Si la cellule A2 par exemple est colorée je met un "C" dans la cellule N2 et je colore tout les cellules de la ligne 2 en bleu.
    Si la cellule A2 n'est pas colorée je met un "O" dans la cellule N2.

    Je ferai donc une boucle pour effectuer cette opération sur toutes les lignes de mon tableau, sachant qu'il est variable mais pour résoudre cela je compte toutes les lignes présentes juste avant cette opération et affecte la valeur trouvée à la boucle
    from i=1 to n par exemple.

    Eske vous pourriez m'aider svp. j'ai cherché sur le forum et je ne trouve pas de sujet identique j'ai bien essayé de faire un code mais étant kelke peut débutant en vba je n'ai pas de grandes possibilités.

    Merci d'avance

  2. #2
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Bonjour,
    Je pense que le petit code ci-dessous doit répondre à ta question
    J'y ai mis quelques annotation en espérant avoir été clair...
    Bonne continuation,

    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
    Sub TestCoul()
     
     
    NbLigne = Application.Subtotal(3, Range("a:a")) 'compte le nombre de ligne titre inclus
     
    For i = 2 To NbLigne 'boucle de la ligne 2 au nombre de ligne
     
        If Cells(i, 1).Interior.ColorIndex = 5 Then 'colorindex 5 = Bleu
            Cells(i, 14) = "C" 'Indique C dans la col. N car fond bleu
            Range(i & ":" & i).Interior.ColorIndex = 5 'colorie l'ensemble de la ligne
        Else
            Cells(i, 14) = "O" 'Indique O dans la col N car fond <> bleu
        End If
     
    Next i
     
    End Sub

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    C'est exactement ce que je voulais merci en plus tu mépargne un tri.
    Par contre à la place de colorier toute la ligne je souhaiterai seulement colorier la ligne mais de la colonne A à la colonne U
    le code doit etre a peut près cela mais je n'y arrive pas lol dsl encore merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range("A" & i ":"" U" & i).Interior.ColorIndex = 8 'colorie l'ensemble de la ligne

  4. #4
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    T'y es presque, c'est une question de & et d'espace, je me suis arraché les cheveux au début...Tu dois toujours avoir un espace avant et après un &
    Donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A" & i & ":" & "U" & i).Interior.ColorIndex = 8

  5. #5
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A" &  i  &  ":"  &  "U"  &  i).Interior.ColorIndex = 8
    attention aux espaces

    je me mêle!j'ai pas vu la reponse

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Exact c'était a se tirer les cheveux fallait vraiment faire gaffe aux espaces mais ca y est c bon tout fonctionne parfaitement je vous remercie vraiment pour votre aide super forum!
    L'entraide c'est vraiment la force!!!
    Encore un grand merci les gars.

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

Discussions similaires

  1. [XL-2003] impression couleur d'une cellule en fonction de la couleur d'une autre cellule
    Par facteur dans le forum Macros et VBA Excel
    Réponses: 47
    Dernier message: 21/09/2012, 17h18
  2. Réponses: 12
    Dernier message: 30/12/2010, 14h30
  3. lancer une macro en fonction de la valeur d'une cellule
    Par arkorrigan dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 11/06/2008, 17h18
  4. Réponses: 7
    Dernier message: 13/10/2007, 23h31
  5. rechercher dans un tableau en fonction de la valeur d'une cellule
    Par jefe.k dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/06/2007, 10h04

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