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
- Bloquer une cellule excel - Guide
- Excel somme si couleur cellule - Guide
- Attribuer une valeur à une cellule texte excel - Forum Excel
3 réponses
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
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
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
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
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
Voici le lien : http://cjoint.com/?CBdqZRFlgBY