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 depuis une Fonction Personnelle


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Points : 37
    Points
    37
    Par défaut Colorer une Cellule depuis une Fonction Personnelle
    Bonjour,

    J'essaye depuis un petit moment de colorer une Cellule depuis une Fonction Personnelle crée dans le Module1 Principal dans mon Classeur sans succès !

    La même ligne s'exécute normalement quand je la lance depuis une Feuille Normal de mon classeur à l'aide d'un Bouton par exemple !

    Exemple de Code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function Colorer(str as string) as string
     
    Cells(1, 1).Interior.Color = RGB(204, 204, 255)
     
    colorer = str
     
    end function
    Merci d'Avance,

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

    Lorsque tu exécute ton code sur une feuille, la cellule A1, et la cellule de ta feuille.
    Lorsque tu l'utilises dans un module, il serait bien de lui indiquer la feuille.

    De plus je ne vois pas à quoi cela sert d'utiliser une fonction, car tu lui envoies un paramètre (str), et la fonction te les renvoies

    Starec

  3. #3
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    Bonjour à tous

    Tu ne peux pas agir sur une cellule avec une fonction directement
    une fonction, permet de donner le resultat d'investigations, mais pas d'agir sur une cellule

    Don soit tu passes pas macro (Procedure evennementielle) soit de saisie, soit de changement de cellule, soit meme selon le lancement des calculs

    Soit encore utilisation de Mise en forme conditionnelle

    Mais à partir d'une fonction directe : Impossible

    Bon week end

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Points : 542
    Points
    542
    Par défaut
    bonjour,

    je ne suis pas tout a fait d accord avec toi wilfried_42

    Tu ne peux pas agir sur une cellule avec une fonction directement
    une fonction, permet de donner le resultat d'investigations, mais pas d'agir sur une cellule
    une fonction renvoie une valeure mais peut aussi agir sur un objet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Function COLORIER(rg As Range) As String
    rg.Interior.Color = RGB(204, 204, 255)
    If (rg.Interior.Color <> vbWhite) = True Then
    COLORIER = " la cellule " & rg.Address & " est coloriée "
    Else: COLORIER = "pas de coloriage"
    End If
    End Function
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    MsgBox COLORIER(Target)
    End Sub

  5. #5
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    bonjour patbou

    je me cite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Tu ne peux pas agir sur une cellule avec une fonction directement
    une fonction, permet de donner le resultat d'investigations, mais pas d'agir sur une cellule
    Donc soit tu passes pas macro (Procedure evennementielle) soit de saisie, soit de changement de cellule, soit meme selon le lancement des calculs
    Soit encore utilisation de Mise en forme conditionnelle
    Mais à partir d'une fonction directe : Impossible
    en rouge j'ai précisé Directement comme compte desire l'utiliser

    Maintenant quit à faire un sub qui lance une fonction autant ne pas faire de fonction (Precicion effectuée en vert)

    Bon week-end

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Points : 37
    Points
    37
    Par défaut
    Bonjour Tout le Monde,

    Je voulais passer par une fonction personnelle (=mafonction() dans les cellules & mafonction() déclarée dans un Module) parce que j'ai plusieurs tableau de ce genre :

    | C1 | C2 | C3 | C4 | C5 |
    ---------------------------------------------
    L1 Nom d'une Fonction
    ---------------------------------------------
    L2 Nbr 1 | Nbr 2 | Nbr 3 | Nbr 4 | Nbr 5 |
    ---------------------------------------------

    Je peux pas procédé par Mise en Forme Conditionnelle par ce que le nombre de ces tableaux est Très grand, donc veux mieux passer par Fonction, et faire Copier/Coller,

    Pourquoi elle retourne la même chaine, parce ce que "Nom d'une Fonction" change d'un Tableau a un autre, ainsi j'aimerai colorée tout le tableau, la couleur change en fonction du contenu des case en dessous (Nbr x),

    Disponible pour Plus d'informations,

    Merci de Vos Suggestion,

    Bon Début de Semaine

  7. #7
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re:

    tu aurais un fichier exemple, sans données confidentielle, avec par exemple sur fond le resultat souhaité et quelques commentaires

    @ te lire

  8. #8
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re:

    Voici un classeur, mais j'ai triché
    car comme je l'ai dit precedemment, on ne peut pas mettre une fonction dans une cellule qui aggise sur les caracteristiques des cellules

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Points : 37
    Points
    37
    Par défaut
    Salut et Merci Infiniment,

    Très Bon Exemple à étudié,

    Le même Principe, juste que l'évènement de déclencher le changement de Couleur doit être le changement des valeurs situés juste au dessous de la case qui contient votre Fonction GW_COULEUR(),

    Par exemple une case contient un nombre, la case qui se située juste au dessus c'est elle qui contient la fonction GW_COULEUR(),
    Le changement de la valeur se fait automatiquement selon un calcule dans une autre feuille,
    Le changement de la valeur doit déclencher la fonction GW_COULEUR() qui se trouve au dessus,

    Comment je peux Programmer Ceci ? je dois me baser sur quel évènement ?

    Merci,

    Un Exemple Comme Demandé
    Fichiers attachés Fichiers attachés

  10. #10
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re:

    Pour l'exemple fourni, je t'ai dit avoir triché, en realité, la fonction ne fait rien du tout, j'ai utilisé l'intercepteur d'evennement sur la modification d'une cellule pour gerer les couleurs

    Tu peux faire de meme, pour qu'une valeur change, il faut qu'une valeur change dans une cellule. cette cellule est modifiée ou une valeur est ajoutée à une liste.

    Les calculs de formule sont effectués avant l'interuption sur saisie.
    en A1 j'ai 1, en B1 j'ai 1, en C1 j'ai =A1+B1 donc 2
    Si je modifie A1 ou B1, je vais controler la modification de ces 2 cellules mais je vais faire mes tests couleur sur la valeur de C1 qui contiendra deja le resultat de l'addition

    Maintenant, sans fichier exemple, il est difficile de t'en dire plus

    en esperant t'avoir aidé

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Points : 37
    Points
    37
    Par défaut
    Re,

    Ou bien un Moyen qui permet de balayer toutes les cases de cette page et de rafraichir les cellule qui contient cette fonction,

    Je peux l'insérer dans l'évènement change de l'autre feuille par exemple,

    Des Idées ?

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Points : 37
    Points
    37
    Par défaut
    J'ai déjà mis un Fichier Joint comme Exemple

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Points : 37
    Points
    37
    Par défaut
    Suite à votre Exemple je suis maintenant capable Modifier la Couleur des Cases que je veux,

    Mon Souci actuel est que la Couleur dépont des valeurs changeables, donc comment puis-je contrôler le rafraichissement des couleurs ? la régénération de cette fonction dans les cases appropriés ?

  14. #14
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re:

    Sur ce fil : tu trouveras un fichier Zip, dedans, une macro complementaire (.XLA)

    Pour l'installer, Menu Outil / Macros complementaires
    dans la fenetre : Parcourir, chercher le fichier gw_mfc_v7.xla sur ton disque et double click, tu valides tout.

    Ton fichier avec Une feuille MFC utilisée par la macro, une feuille 2 ou tu as tes saisies
    La feuille 1 qui se met en couleur des l'activation (si la macro complementaire est installée)
    En I14, une Formule MFC qui parametre la macro complementaire
    Une macro evennementielle de l'activation de la feuil1, qui edite la cellule I14, ce qui provoque le lancement de la macro complementaire



    edit : Avec le fichier c'est meiux

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Points : 37
    Points
    37
    Par défaut
    Merci bien à Vous,

    Je vais pencher sur ce Point (MFC), je vous tiens au courant après,

    Même si je ne vois pas la Fonction "gw_couleur()" donc si le tableau change de place (et ils y'en a BQ) je sais pas comment l'Update se fera ?

    Je fais une petite recherche pour bien maitriser le concept, et je Re

    Merci,

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 12h17
  2. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 18h37
  3. [XL-2007] problème de codage en vba ("copie d'une partie d'une cellule dans une cellule vide")
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/10/2010, 18h01
  4. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 13h59
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 14h48

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