pb avec fonction pour changer la couleur d'une cellule

  • Initiateur de la discussion Initiateur de la discussion mehari2000
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mehari2000

XLDnaute Nouveau
Salut a tous

apres avoir parcouru pas mal de fois pour trouver des reponses (toujours satisfait..)

mais là je seche un peu !

voila mon pb :

je souhaite changer la couleur d'une cellule en passant par une fonction
mon soucis c'est que ça e fonctionne pas !

explications :
j'ai fait (pour faire des tests ...)
une sub depart (ou je declare deux variables)
une sub test (avec mes deux variables)
et une function (a mettre dans une cellule pour tester)


Dim plg, coul

Function changer_couleur(plg, coul)
Call depart
changer_couleur = coul
End Function

Sub depart()
plg = "$D$6"
coul = 5
Call test(plg, coul)
End Sub

Sub test(plage, couleur)
Range(plage).Interior.ColorIndex = couleur
End Sub



si je passe avec F8 par depart() ma cellule D6 se colore bien en bleu
mais si je passe par la function changer_couleur() rien ne marche !

alors que techniquement on passe a chaque fois par depart et test !???

aurais-je loupé un detail ?

a+
stef

merci encore pour toutes les infos glanées sur votre forum ;-)
 
Re : pb avec fonction pour changer la couleur d'une cellule

Bonjour,

me voila de retour au taf ! (j'ai pas excel a la maison!)

merci pour ta reponse mais c'est pas ça !

en fait je veux changer la couleur d'une cellule avec une fonction que j'ecris dans une cellule .
par exemple dans mon fichier , dans la cellule B6 je veux marquer une formule qui vas me changer la couleur de la cellule D6 ex : =changer_couleur(D6;6)

en passant par une macro : Range(plage).Interior.ColorIndex = couleur
par contre cette application dans une fonction ne fonctionne pas !?

pour tester j'ai fais une macro pour changer la couleur et je la lance via une formule mais rien !
pourquoi doc ?

je connais la mise en forme conditionnelle mais elle ne me convient pas.

a+
stef
 
Re : pb avec fonction pour changer la couleur d'une cellule

Bonjour,

Une fonction (même personnalisée) te retourne une valeur mais ne te permet pas de modifier la feuille.
A moins que qcq'un ait une astuce...

eric
 
Re : pb avec fonction pour changer la couleur d'une cellule

ok ,

donc pour resumer :

si je créé une macro pour changer la couleur d'une cellule,
si je la lance via un bouton ça marche
par contre si je la lance via une fonction dans une cellule avec un call ça ne fonctionne pas !?

c'est bien ça ?


a+
stef
 
Re : pb avec fonction pour changer la couleur d'une cellule

Re,

Voilà.
C'est vrai que j'y avais passé du temps moi aussi...
Jusqu'au jour où je suis tombé sur l'aide microsoft où il était dit clairement qu'on ne pouvait modifier l'environnement avec une fonction personnalisée.
C'est vrai qu'à la base le rôle d'une fonction est de retourner une valeur et c'est tout...

Mais tu peux profiter d'un autre évènement pour lancer ta macro (change, selection change, activate, ...)

eric
 
Re : pb avec fonction pour changer la couleur d'une cellule

salut,

merci pour le renseignement! ca fait deux jour que je m'arrache les cheveux !
bon faut trouver autre chose !

en fait je voulais via une formule faire clignoter une case, une formule comme ça c'etait plus simple a utiliser qu'une macro ou il faut avoir des connaissances en VB pour la modifier!...

tans pis et merci des infos

a+
stef
 
Re : pb avec fonction pour changer la couleur d'une cellule

J'ai retrouvé (c'est leur traduction automatique...):
Une fonction définie par l'utilisateur appelée par une formule dans une cellule de feuille de calcul ne peut pas modifier l'environnement de Microsoft Excel. Cela signifie qu'une telle fonction ne peut procéder aucun suivant :

Insérez, supprimez ou formatez des cellules du calcul.

Modifiez la valeur d'une autre cellule.

Déplacez, renommez, supprimez ou ajoutez des feuilles à un classeur.

Modifiez une des options d'environnement tels que des vues de calcul, de mode ou écran.

Ajoutez des noms à un classeur.

Définissez des propriétés ou exécutez plus plusieurs méthodes.

De créer une fonction personnalisée qui n'est pas incluse dans les fonctions qui accompagnent Microsoft Excel permettre à l'utilisateur est le but de fonctions utilisateur. Les fonctions incluses dans Microsoft Excel ne peuvent pas également modifier l'environnement. Les fonctions peuvent effectuer un calcul qui retourne une valeur ou du texte à la cellule qu'ils sont entrés dans la cellule. Doit s'effectuer par l'utilisation d'un sous-routine Visual Basic toutes modifications relatives d'environnement.



Mais pour ton truc tu peux te pencher sur la méthode ontime.


eric
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour