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 :

Colorer une cellule - circular reference [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Thaïlande

    Informations professionnelles :
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2014
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Colorer une cellule - circular reference
    Bonjour,
    je viens de me mettre au VBA, et je rencontre un problème de "Circular Reference" a l'appel d'une de mes fonctions sur une cellule.

    Pour essayer de faire simple :

    Dans Excel, j'appelle la fonction SetRoomStatus sur ma cellule active(fonction que j'ai codée), et je lui donne pour paramètres 2 autres cellules.

    Mon code regarde la couleur de ces 2 cellules et, en fonction de la combinaison de ces deux couleurs, il affecte un statut a ma cellule active (OPEN ou CLOSE).

    En plus, d'affecter cette valeur (OPEN ou CLOSE), je souhaite colorer ma cellule active. C'est précisément l'ajout de cette ligne qui me fait passer en "Circular Reference". Excel semble appeler indéfiniment la fonction SetRoomStatus, avec les mêmes paramètres.

    Voici la fonction que j'ai codée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Function SetRoomStatus(selA As Range, selB As Range)
     
    RoomClosed = IsRoomClosed(selA , selB )
     
    If (RoomClosed = True) Then
      'Range("F37").Interior.ColorIndex = 8
      SetRoomStatus = "CLOSE"
    Else
      'Range("E37").Interior.ColorIndex = 2
      SetRoomStatus = "OPEN"
    End If
     
    End Function

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour,

    une fonction personnalisée ne peut que renvoyer un résultat mais aucunement intervenir sur les propriétés de la cellule …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Thaïlande

    Informations professionnelles :
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2014
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Oups... je m'apercois que dans l'exemple ci-dessus, j'ai laisse la ligne interessante en commentaire.
    Dans le code original, la reference circulaire se produit en decommentant.

    Je remercie par avance la bonne ame qui m'aidera

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    En clair, ce n'est pas possible au sein d'une fonction personnalisée ‼

    Utiliser directement la mise en forme conditionnelle …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Thaïlande

    Informations professionnelles :
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2014
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Merci Marc L.
    Tu veux dire par la, que je n'ai aucun moyen, par le code, de colorer ma cellule ?

    Ok, merci, je vais regarder en passant par la mise en forme conditionnelle donc.

    Merci beaucoup pour ta rapidité

  6. #6
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Voir Les fonctions personnelles dans Excel, en particulier la fin de l'introduction …

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Thaïlande

    Informations professionnelles :
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2014
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Ok, ca marche.
    Je regarde d'abord pour la mise en forme conditionnelle, et si je n'ai plus de question, je mentionnerai "resolu".

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

Discussions similaires

  1. colorer une cellule de striggrid
    Par malikakika dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/06/2008, 10h31
  2. coloré une cellule d'un treeview
    Par awalter1 dans le forum GTK+ avec Python
    Réponses: 2
    Dernier message: 19/05/2008, 14h31
  3. Comment colorer une cellule d'une StringGrid
    Par Annibal dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/05/2008, 12h35
  4. Colorer une cellule précise d’une TStringGrid
    Par gilardino dans le forum Débuter
    Réponses: 1
    Dernier message: 16/04/2008, 12h10
  5. Colorer une Cellule depuis une Fonction Personnelle
    Par compte dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 18/03/2008, 19h38

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