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 :

Détecter une cellule colorée


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juillet 2015
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 57
    Par défaut Détecter une cellule colorée
    Bonjour, je travail sur une fonction que je dois adapter, je désire qu'elle détecte une cellule colorée, pour ensuite prendre la valeur dans cette case colorée.
    Je ne suis pas sûr de ma fonction de détection de couleur. Voici ma fonction au complet.

    Vous voyez, ligne 14, ma tentative.

    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
    Public Function Cherche_valeur(ByVal Table As Range, ByVal Valeur As Range, Decal As Long)
     
    Dim Rng1 As Range
    Dim i As Integer
     
     
    Set Rng1 = Table.Find(Valeur.Value, , xlValues, xlWhole, xlByRows, xlNext, False, False)
    i = 1
    If Rng1 Is Nothing Then
        Cherche_valeur = "0"
        Exit Function
    End If
    While Rng1.Offset(i, Decal) <> Cells(i, 1).Font.ColorIndex = 4
     
        i = i + 1
    Wend
     
    Cherche_valeur = Rng1.Offset(i, Decal).Value
     
    End Function
    Merci à tous ceux qui voudront m'aider

  2. #2
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonjour

    me parait bizarre ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    While Rng1.Offset(i, Decal) <> Cells(i, 1).Font.ColorIndex = 4
    Je l'aurais plutôt ecris comme ça sans prejuger du resultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    While Rng1.Offset(i, Decal).font.color <> Cells(i, 1).Font.Color

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juillet 2015
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 57
    Par défaut
    Merci Keygen,

    En fait, ce que je comprends de ta ligne, c'est que tu compares avec une cellule, au lieu de comparer avec une couleur de fond, non ?

    Je vais faire des tests avec ta ligne voir si ça change quelque chose que je n'ai pas remarqué !

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Si c'est la couleur du fond, essayer avec Interior
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    While Rng1.Offset(i, Decal).interior.color <> Cells(i, 1).interior.Color

  5. #5
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    oui bien vu, moi, pas fais attention, moi pas concentrer
    + 1 pour parmi

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juillet 2015
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 57
    Par défaut
    @Parmi

    Si je comprends ta fonction, elle prend la couleur de fond de la cellule de départ, cherche la cellule qui a la meme couleur de fond (boucle) et ensuite elle sélectionne l'info dans cette cellule ?

    Je ne comprends pas lors pour cela ne fonctionne pas, je n'ai pas d'erreur mais ma fonction ne prend pas la bonne valeur avec ta ligne de commande !!

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

Discussions similaires

  1. Détecter une cellule vide via une macro
    Par Kiera dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/01/2015, 02h12
  2. Détecter une cellule vide
    Par lenul78570 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/12/2009, 10h53
  3. somme jusqu'à une cellule colorée
    Par jetset30 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/02/2009, 14h01
  4. [VBA Excel] détecter une cellule commençant par apostrophe par macro
    Par yridwenn dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/01/2007, 17h35

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