Bonjour
je suppose que la couleur change en fonction de la valeur dedans, dans ce cas pourquoi ne pas appliquer la même condition dans l’autre cellule ?
il existe la fonction "cell(’color’, B2)" mais ca ne retourne absolument pas ce que l’on peut attendre d’une telle formule https://stackoverflow.com/questions/41348844/excel-cellcolor-cell-function c’est spécial (honnêtement j’ai pas bien compris ce que ca fait, mais absolument pas retourner la couleur de la case)
je sais qu’il est possible de le faire en VBA https://docs.microsoft.com/fr-fr/office/vba/api/excel.interior.color
Je viens de penser a une methode :
(tips a la fin)
par contre, la valeur a l’interieur de la celule doit changer et pas seulement la couleur.
bon alors ca marche mais c’est pas des plus facile
il faut ouvrir l’editeur de VBA (si jamais tu ne sais pas comment faire https://www.editions-eni.fr/open/mediabook.aspx?idR=75ea2bf6b2abce0a1ee41144aa4d3a7a
ensuite dans la nouvelle page a droite en haut il y a une partie "projet"
il faut double cliquer sur "thisworkbook"
une page vierge vas apparaitre
il faut y mettre ceci :
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
ActiveWorkbook.ForceFullCalculation = True
End Sub
cette partie permet de dire "a chaque fois que la feuille ce fait calculer forcer le calcul de toute les cellules
ensuite dans la partie a droite tu fais clique droit insertion "modules" et tu y colles
Public Function getCellColor(Rng As Range, Optional VolatileParameter As Variant)
Application.Volatile (Rng)
For Each cell In Rng
getCellColor = cell.Interior.ColorIndex
Next cell
End Function
cette fonction retourne la couleur de fond de la case choisi (si tu choisis plusieurs cellule ce sera uniquement la dernière)
la partie avec VolatileParameter est uniquement présent pour l’actualisation
et pour finir la formule ressemble a '=getCellColor(B4)' et voila ca marche
(par contre c’est bizarre ca marche que avec des cellules avec des chiffres)
TIPS :
1. a la place de : "Private Sub Workbook_SheetCalculate(ByVal Sh As Object)" (dans "this workbook") tu peux mettre "Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)" ca reduit la charge de calcul seulement au moment de sauvegarder
-
j’ai pas trouvé pour évité le range
-
si jamais ta feuille EXCEL est lourde (avec beaucoup de calcul) je te conseille de faire a la sauvegarde de la page j’ai dis une betise
exemple avec du blanc et du noir :