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 :

Inscrire formule si cellule de couleur


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Salut tout le monde

    Est il possible avec une macro d'inscire une formule si la cellule est d'une certaine couleur.
    Par exemple si j'ai une cellule verte (ou n'importe quelle couleur) en colonne C ligne 20, est il possible d'y inscrire une formule ou un chiffre automatiquement???

    Merci par avance pour votre aide

    PS: Sachant qu'il peut y avoir plusieurs cellules de la même couleur sur cette même colonne... (en C47, 59...)

  2. #2
    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
    Le critère sera donc la couleur de la cellule de la colonne C, si c'est ça, alors une piste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim c as range
    for each c in columns("C:C")
       if c.interior.colorindex=6 then c.value="ici"  'ou c.formula="=12*A1" '(par exemple)
    next c
    Ceci ne fonctionnera pas si la coloration est issue d'une mise en forme conditionnelle

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Je vais tester ça, et la couleur n'est pas issue d'une mise en forme conditionelle donc ça devrait fonctionner.


  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    ça n'a pas l'air de fonctionner.
    Les couleurs ne sont pas issues d'une mise en forme conditionnelle mais d'une macro précédente...est ce que ça peut venir de là?

  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
    as-tu remplacé le 6 que j'ai mis dans le code exemple par l'index de la couleur de tes cellules?

    plus tard, travailler avecpour connaitre les chiffres à mettre
    sélectionne une cellule coloré de ta couleur

    exécute cette procedure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sub tst()
    msgbox "colorindex " &activecell.interior.colorindex
    msgbox "color " &activecell.interior.color
    end sub

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Oui j'avais adapté la couleur en fonction... Voici le code que je tente de faire fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Macro1()
     
    Dim c As Range
    For Each c In Columns("C:C")
       If c.Interior.Color = 65535 Then c.Formula = "=""TOTAL ""&R[-1]C"
    Next c
     
    Dim d As Range
    For Each d In Columns("E:E")
        If d.Interior.Color = 65280 Then d.Formula = "=""TOTAL ""&R[-2]C"
        Next d
     
     
    End Sub
    Je vois pas du tout où ça coince... Avant j'ai une macro qui effectue cette opération au préalable pour la coloration des lignes, ça vient peut être de là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Rows(I + 1).Interior.Color = RGB(0, 255, 0) 'pour le vert
    Rows(I).Interior.Color = 65535 'pour le jaune
    J'avais fouiner pour trouver les couleurs qui me convenait. Je vais peut être essayé de voir en mettant colorindex mais il me semble que ça buggait et que j'obtenai des lignes noires comme le charbon...

    J'ai essayé de modifier et de mettre colorindex 4 et 6 et ça ne marche toujours pas...comprends pas

    ton code me parait pourtant très (trop?) logique...

  7. #7
    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
    Une mea culpa pour moi et une correction pour toi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim c As Range
    For Each c In Sheets("Feuil1").Range("C:C") 'indiquer le nom de la feuille et range au lieu de columns
       If c.Interior.Color = 65535 Then c.FormulaR1C1 = "=""TOTAL ""&R[-1]C"
    Next c

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Alleluia!!!!!!!!!!!!!!!!!!!!!!!


    Un grand merci à toi

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

Discussions similaires

  1. [XL-2010] Formule conditionnelle changement de couleur de cellules
    Par chocoaccroc dans le forum Excel
    Réponses: 2
    Dernier message: 27/12/2012, 15h29
  2. Réponses: 2
    Dernier message: 09/09/2009, 14h08
  3. [XL-2007] Aplliquer formule selon modification d'une cellule et couleur de texte
    Par dodo28 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/08/2009, 18h28
  4. appliquer une formule à +sieurs cellules excel
    Par ramsesthebest dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/09/2005, 20h36
  5. [D7-EXCEL2000] Formule dans cellule Excel qui ne se calcule pas
    Par Albertolino dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 09/09/2003, 14h18

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