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 :

codes des couleurs et fonction


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut codes des couleurs et fonction
    Bonsoir , je dois écrire une fonction qui étant donnée une plage de cellules sélectionnée et coloriée , renvoie en dessous de cette plage une chaine de caractère qui correspond aux codes ( RGB ) des couleurs de chaque cellule .

    Mon algo est celui ci :

    On colorie la plage sélectionnée
    On parcourt la plage et à chaque passage sur une cellule on envoie le code numérique de la couleur dans la seconde plage .

    Voici mon code qui ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function code(plage As Range) As String
    Dim i As Integer, j As Integer, nbLig As Integer, nbCol As Integer, plage1 As Range
    nbLig = plage.Rows.Count
    nbCol = plage.Columns.Count
    Set plage1 = Range(Cells(10, 13), Cells(10, 75))
        coloriage plage
        For i = 1 To nbLig
            For j = 1 To nbCol
            Ici je vois pas le code à écrire pour mettre le code des couleurs dans une autre plage
            Next j
        Next i
    End Function
    La fonction doit renvoyer une chaine de caractères .

    Est ce que quelqu'un aurait des indices pour m'aider svp ?
    merci bien .

    PS : pas de code tout fait je ne lirai pas le message si on me donne la réponse toute faite .

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Si tu veux des indices, as-tu lu cet article : Les couleurs en VBA Excel: Les équivalences Hex-Long-RGB/

    Philippe

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut
    salut philippe , ton article bien qu'intéressant je ne peux pas l'utiliser , seuls sont autorisées les propriétés et méthodes des objets range et cells .

    Donc on a une cellule coloriée , mettons cells(2,8) , que doit on écrire pour avoir le code numérique de sa couleur ?

    J'ai essayé cells(2,8).value= ça ne marche pas...

  4. #4
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonjour,

    Je pense que tu peux adapter
    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 Couleur_RGB()
    Dim CoulRVB As Long
    Dim Bleu As Integer
    Dim Vert As Integer
    Dim Rouge As Integer
     
        CoulRVB = ActiveCell.Interior.Color
     
        Rouge = Int(CoulRVB Mod 256)
        Vert = Int((CoulRVB Mod 65536) / 256)
        Bleu = Int(CoulRVB / 65536)
     
    MsgBox (Rouge & ", " & Vert & ", " & Bleu)
    End Sub
    Je te laisse adapter à ta boucle.
    Cordialement

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut
    salut fred , euh non je ne peux pas adapter , je dois avoir en 1 ligne :

    on lit la cellule active colorée , et on renvoie en chaine de caractère le code numérique de sa couleur .

    Comment écrire ça en vba...

  6. #6
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    je ne comprends pas bien ce que tu veux.
    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 Test()
    Selection = Couleur_RGB(Selection)
    End Sub
    Function Couleur_RGB(R As Range) As String
    Dim CoulRVB As Long
    Dim Bleu As Integer
    Dim Vert As Integer
    Dim Rouge As Integer
     
        CoulRVB = R.Interior.Color
     
        Rouge = Int(CoulRVB Mod 256)
        Vert = Int((CoulRVB Mod 65536) / 256)
        Bleu = Int(CoulRVB / 65536)
     
    Couleur_RGB = "RGB(" & Rouge & ", " & Vert & ", " & Bleu & ")"
    End Function
    @+

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

Discussions similaires

  1. code colors, couleur en fonction de la valeur
    Par Kihmé Xs dans le forum iReport
    Réponses: 12
    Dernier message: 15/09/2012, 00h40
  2. code des couleurs pour les feuilles de styles
    Par Auteur dans le forum Téléchargez
    Réponses: 0
    Dernier message: 09/07/2011, 21h14
  3. Trouver les codes des couleurs pour un graph
    Par Hydro999 dans le forum R
    Réponses: 2
    Dernier message: 16/03/2010, 18h06
  4. [VBA] - Récupérer le code RGB des couleurs systèmes
    Par Invité dans le forum VBA Access
    Réponses: 8
    Dernier message: 12/06/2007, 10h25
  5. Report6i:Code des couleurs
    Par BILLYPATOU dans le forum Oracle
    Réponses: 3
    Dernier message: 29/06/2005, 13h44

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