Valeur dans une cellule par rapport à la couleur d'une cellule
Fermé
thierry
-
2 févr. 2013 à 13:08
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 3 févr. 2013 à 21:40
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 3 févr. 2013 à 21:40
A voir également:
- Valeur dans une cellule par rapport à la couleur d'une cellule
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Verrouiller une cellule excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Diviser une cellule excel en deux horizontalement ✓ - Forum Excel
3 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
2 févr. 2013 à 14:11
2 févr. 2013 à 14:11
Bonjour,
Si elle est colorée par MFC utiliser le même test pour calculer sa valeur.
Si couleur mise manuellement ça ne peut être fait qu'en VBA
eric
Si elle est colorée par MFC utiliser le même test pour calculer sa valeur.
Si couleur mise manuellement ça ne peut être fait qu'en VBA
eric
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
3 févr. 2013 à 17:55
3 févr. 2013 à 17:55
Bonjour,
une fonction personnalisée qui te retourne le n° de couleur :
Vu que le changement de couleur n'est pas détecté par excel revalider une cellule pour mettre à jour.
Ex syntaxe :
=couleur(B3)
https://www.cjoint.com/c/CBdr1Ht47RU
eric
une fonction personnalisée qui te retourne le n° de couleur :
Function couleur(c As Range) As Variant Application.Volatile If c.Interior.ColorIndex = xlNone Then couleur = "" Else couleur = c.Interior.Color End If End Function
Vu que le changement de couleur n'est pas détecté par excel revalider une cellule pour mettre à jour.
Ex syntaxe :
=couleur(B3)
https://www.cjoint.com/c/CBdr1Ht47RU
eric
Merci eric, j'ai essayé sur le fichier que tu m'a envoyé avec =couleur(B4) etc, ça fonctionne à condition de mettre d'abord la couleur en B3, B4, B5, etc..
mais si je met la formule =couleur(B4), =couleur(B5), =couleur(B6) en D4, D5, D6 par exemple et que je met ensuite de la couleur en cellulles B4, B5 et B6 alors ça ne fonctionne pas, comment puis-je faire ?
Par contre je ne sais pas ce que je peux faire de ce que tu m'a ecris plus haut : Function couleur(c As Range) As Variant
Application.Volatile
If c.Interior.ColorIndex = xlNone Then
couleur = ""
Else
couleur = c.Interior.Color
End If
End Function
mais si je met la formule =couleur(B4), =couleur(B5), =couleur(B6) en D4, D5, D6 par exemple et que je met ensuite de la couleur en cellulles B4, B5 et B6 alors ça ne fonctionne pas, comment puis-je faire ?
Par contre je ne sais pas ce que je peux faire de ce que tu m'a ecris plus haut : Function couleur(c As Range) As Variant
Application.Volatile
If c.Interior.ColorIndex = xlNone Then
couleur = ""
Else
couleur = c.Interior.Color
End If
End Function
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
3 févr. 2013 à 18:40
3 févr. 2013 à 18:40
Tu n'as pas tout lu :
Vu que le changement de couleur n'est pas détecté par excel revalider une cellule pour mettre à jour
Ou bien faire F9.
Par contre je ne sais pas ce que je peux faire de ce que tu m'a ecris plus haut
C'est le code VBA de la fonction personnalisée, à mettre dans ton classeur.
- Alt+F11 pour ouvrir l'éditeur VBE
- double-clic sur le Module1 à gauche pour voir (ou coller) le code.
eric
Vu que le changement de couleur n'est pas détecté par excel revalider une cellule pour mettre à jour
Ou bien faire F9.
Par contre je ne sais pas ce que je peux faire de ce que tu m'a ecris plus haut
C'est le code VBA de la fonction personnalisée, à mettre dans ton classeur.
- Alt+F11 pour ouvrir l'éditeur VBE
- double-clic sur le Module1 à gauche pour voir (ou coller) le code.
eric
Je ne suis vraiment pas doué et suis désolé de t'ennuyer avec mon soucis.
J'ai collé le code VBA dans la feuille, mais ça ne fait rien.
Et maintenant, quand je refait la même manip que tout a l'heure c'est à dire mettre en (D3) : =couleur(B3) alors n'apparait plusen (D3) un chiffre mais #NOM?
je vais essayer de contourner le problème,mais c'est pas gagné.
Merci en tous cas de ton aide.
Sincères Salutations
Thierry
J'ai collé le code VBA dans la feuille, mais ça ne fait rien.
Et maintenant, quand je refait la même manip que tout a l'heure c'est à dire mettre en (D3) : =couleur(B3) alors n'apparait plusen (D3) un chiffre mais #NOM?
je vais essayer de contourner le problème,mais c'est pas gagné.
Merci en tous cas de ton aide.
Sincères Salutations
Thierry
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
Modifié par eriiic le 3/02/2013 à 19:38
Modifié par eriiic le 3/02/2013 à 19:38
Si tu ne lis pas ce qu'on t'indique tu ne risques pas d'y arriver...
pas dans la feuille, mais dans un module standard :
- Alt+F11 pour ouvrir l'éditeur VBE
- double-clic sur le Module1 à gauche pour voir (ou coller) le code.
Dans ton autre classeur, dans VBE, clic-droit sur ton projet (à gauche) et : 'insertion / module', coller le code dedans.
eric
pas dans la feuille, mais dans un module standard :
- Alt+F11 pour ouvrir l'éditeur VBE
- double-clic sur le Module1 à gauche pour voir (ou coller) le code.
Dans ton autre classeur, dans VBE, clic-droit sur ton projet (à gauche) et : 'insertion / module', coller le code dedans.
eric
ce n'est pas que je ne lis pas ce que tu m'indique, c'est que je ne comprends pas ce que tu me demandes de faire.
Par exemple dans ta dernière réponse qu'appelles-tu: "pas dans la feuille, mais dans un module standard ?"
Ensuite si je fais alt+f11 j'ai bien l'éditeur VBA qui s'ouvre, mais je n'ai pas de Module1 à gauche.
Puis quand tu me dis ensuite: "Dans ton autre classeur, dans VBE, clic-droit sur ton projet (à gauche) et : 'insertion / module', coller le code dedans".Je ne sais pas de quel autre classeur tu me parles.
Je me rend bien compte que je ne suis pas à la hauteur, c'est pourquoi j'avais besoin d'aide.
Désolé du temps que je t'ai pris.
ça dois pourtant être assez simple.
A plus
Thierry
Par exemple dans ta dernière réponse qu'appelles-tu: "pas dans la feuille, mais dans un module standard ?"
Ensuite si je fais alt+f11 j'ai bien l'éditeur VBA qui s'ouvre, mais je n'ai pas de Module1 à gauche.
Puis quand tu me dis ensuite: "Dans ton autre classeur, dans VBE, clic-droit sur ton projet (à gauche) et : 'insertion / module', coller le code dedans".Je ne sais pas de quel autre classeur tu me parles.
Je me rend bien compte que je ne suis pas à la hauteur, c'est pourquoi j'avais besoin d'aide.
Désolé du temps que je t'ai pris.
ça dois pourtant être assez simple.
A plus
Thierry
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
3 févr. 2013 à 21:40
3 févr. 2013 à 21:40
Je ne sais pas de quel autre classeur tu me parles.
J'avais supposé que tu avais un classeur où tu voulais utiliser cette fonction.
Si ce n'est pas le cas tu travailler avec celui que je t'ai fourni en exemple, mais ça sera le seul à avoir cette fonction.
eric
J'avais supposé que tu avais un classeur où tu voulais utiliser cette fonction.
Si ce n'est pas le cas tu travailler avec celui que je t'ai fourni en exemple, mais ça sera le seul à avoir cette fonction.
eric
2 févr. 2013 à 19:04
2 févr. 2013 à 19:43
Si tu commençais par détailler ton besoin...
Déposer le fichier xls (réduit au nécessaire et anonymisé) avec les explications et le résultat attendu sur cjoint.com et coller ici le lien fourni.
eric
3 févr. 2013 à 16:53
Voici le lien : http://cjoint.com/?CBdqZRFlgBY