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 :

Code TSL vers RGB en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre �clair�
    Homme Profil pro
    retrait�
    Inscrit en
    Novembre 2002
    Messages
    391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : retrait�
    Secteur : Sant�

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par d�faut Code TSL vers RGB en VBA
    Bonjour,

    Je cherche une macro ou fonction pour transformer le code TSL en RGB, pour �viter de le refaire.
    Je n'en trouve pas en VBA, et je pense que �a doit d�j� �tre fait !
    Merci si vous pouvez m'aider.

  2. #2
    Expert confirm�
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finist�re (Bretagne)

    Informations professionnelles :
    Activit� : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

  3. #3
    Membre �clair�
    Homme Profil pro
    retrait�
    Inscrit en
    Novembre 2002
    Messages
    391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : retrait�
    Secteur : Sant�

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par d�faut
    Merci kiki29, mais ce n'est pas du VBA.

  4. #4
    Membre �prouv�
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activit� : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Par d�faut
    Le lien de Kiki me semble correct...

    A toi de lire et de comprendre ce que tu cherche. Dans ce lien, regarde bien le message de l'utilisateur Ucfoutu. Je pense qu'il est interressent.

    Ne t'attend pas � un code tout pr�fabriqu�.
    A toi de le construire...

  5. #5
    Membre �clair�
    Homme Profil pro
    retrait�
    Inscrit en
    Novembre 2002
    Messages
    391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : retrait�
    Secteur : Sant�

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par d�faut
    J'ai bien compris.
    Je pense que si �a existe, ce n'est pas la peine de r�-inventer la roue.
    �a m'�tonne de ne rien trouver.

    Je me suis tromp� dans l'intitul�.
    C'est TSL vers RGB ! en VBA.
    Excusez-moi

  6. #6
    Expert confirm�
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par d�faut
    bjr,

    il faut chercher en anglais (RGBToHLS)pour trouver des fonctions toutes faites

    sinon il y a des API :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    Public Declare Sub ColorRGBToHLS Lib "shlwapi.dll" (ByVal clrRGB As Long, wHue As Integer, wLuminance As Integer, wSaturation As Integer)
    Public Declare Function ColorHLSToRGB Lib "shlwapi.dll" (ByVal wHue As Integer, ByVal wLuminance As Integer, ByVal wSaturation As Integer) As Long

  7. #7
    Membre �clair�
    Homme Profil pro
    retrait�
    Inscrit en
    Novembre 2002
    Messages
    391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : retrait�
    Secteur : Sant�

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par d�faut
    Merci Arkham46,

    Faut-il alors ajouter les librairies ?
    Je ne sais pas tr�s bien manipuler �a

  8. #8
    Expert confirm�
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par d�faut
    Citation Envoy� par flamel Voir le message
    Merci Arkham46,

    Faut-il alors ajouter les librairies ?
    Je ne sais pas tr�s bien manipuler �a
    il suffit de mettre les deux lignes dans un module et d'appeler les fonctions comme n'importe quelle autre fonction
    la librairie Shlwapi.dll est d�j� install�e (� partir de win XP/2000 d'apr�s MSDN)

  9. #9
    Membre �clair�
    Homme Profil pro
    retrait�
    Inscrit en
    Novembre 2002
    Messages
    391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : retrait�
    Secteur : Sant�

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par d�faut
    Je n'y arrive pas.
    Pourrais-tu me donner un petit mod�le ?
    Merci.

  10. #10
    Expert confirm�
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par d�faut
    Insertion => Module
    y coller ces deux lignes :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    Public Declare Sub ColorRGBToHLS Lib "shlwapi.dll" (ByVal clrRGB As Long, wHue As Integer, wLuminance As Integer, wSaturation As Integer)
    Public Declare Function ColorHLSToRGB Lib "shlwapi.dll" (ByVal wHue As Integer, ByVal wLuminance As Integer, ByVal wSaturation As Integer) As Long
    Et voil� par exemple pour augmenter la luminance et diminuer la saturation d'un ecouleur :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim lRGB As Long
    Dim lH As Integer, lS As Integer, lL As Integer
    ' Couleur verte
    lRGB = vbGreen
    ' Calcul des teintes / luminance / saturation
    ColorRGBToHLS lRGB, lH, lL, lS
    lL = lL * 1.5 ' augmente la luminance
    lS = lS * 0.5 ' diminue la saturation
    ' Calcul de la couleur RGB modifiée
    lRGB = ColorHLSToRGB(lH, lL, lS)

  11. #11
    Membre �clair�
    Homme Profil pro
    retrait�
    Inscrit en
    Novembre 2002
    Messages
    391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : retrait�
    Secteur : Sant�

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par d�faut
    Merci pour le mod�les.

    Mais j'obtiens le message d'erreur :

    Erreur de compilation:
    Des constantes, cha�nes de longueurs fixes, tableaux, types d�finis par l'utilisateur et instructions Declare ne sont pas autoris�es comme membres Public de module d'objet

    Que faire
    Images attach�es Images attach�es  

  12. #12
    Expert confirm�
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par d�faut
    Citation Envoy� par flamel Voir le message
    Erreur de compilation:
    Des constantes, cha�nes de longueurs fixes, tableaux, types d�finis par l'utilisateur et instructions Declare ne sont pas autoris�es comme membres Public de module d'objet

    Que faire
    les deux d�clarations "Public Declare ..." doivent �tre plac�es dans un module standard (insertion => module)
    sinon changer la port�e de Public en Private dans le module qui les utilisent

  13. #13
    Membre �clair�
    Homme Profil pro
    retrait�
    Inscrit en
    Novembre 2002
    Messages
    391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : retrait�
    Secteur : Sant�

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par d�faut
    J'attendais que la fonction me retourne R,G,B quand on lui donne H,S,L.
    Ce n'est pas ce que j'obtiens.
    Ou alors, je ne sais pas m'en servir, ou je ne me suis pas bien fait comprendre.
    Comment faire pour obtenir R et G et B quand on a H et S et L qui correspondent � la m�me couleur ?

  14. #14
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    66
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 66
    Par d�faut
    Salut
    Je r�pond 8 mois plus tard :p

    Une couleur ici est un "long" cod� sur 24 bits tels que 8 bits soient alou�s � chaque couleur. Voici ce que fait la fonction RGB :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    couleur =256^2*R + 256*G +B
    A partir de la couleur,pour retrouver la composante de chacune des 3 couleurs, il faut faire:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    Debug.Print "R: " & Int(Couleur / (256 ^ 2))
    Debug.Print "G: " & Int((Couleur /256) Mod 256 )
    Debug.Print "B: " & Couleur Mod 256

    J'ai d'autres questions
    Comment as tu fait pour trouver Lib "shlwapi.dll"??? Je veux dire, o� puis je prendre connaissance des autres fonctions utiles pr�sentes dans ces libs? Ca m'interresse pas mal!
    Tous les postes pourvus d'Excel poss�dent-ils cette lib? En effet, je souhaite utiliser ces fonctions des outils que je souhaite fournir � mes coll�gues.

  15. #15
    Expert confirm�
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finist�re (Bretagne)

    Informations professionnelles :
    Activit� : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Loi de Poisson (code Matlab vers du VBA)
    Par Kiera dans le forum MATLAB
    R�ponses: 0
    Dernier message: 28/06/2015, 11h51
  2. Conversion code MATLAB vers VBA
    Par viejo dans le forum Macros et VBA Excel
    R�ponses: 2
    Dernier message: 03/07/2012, 18h06
  3. Convertir du code couleur h�xa vers RGB?
    Par bylka dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 7
    Dernier message: 20/01/2009, 11h25
  4. retranscription de code vbs vers vba
    Par kev0631 dans le forum G�n�ral VBA
    R�ponses: 1
    Dernier message: 24/04/2007, 18h46
  5. Adaptation d'un code TMemo vers TRichEdit : probl�me de ScrollBars
    Par Dro�de Syst�me7 dans le forum Composants VCL
    R�ponses: 2
    Dernier message: 21/01/2005, 15h06

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