Dans un fichier j' ai une colonne avec une date et une couleur , je mets une couleur pour dire que le traitement été fait
Pour l' instant mon fichier marche avec des fonctions mais je souhaite faire une fonction plus facile a utiliser
Pour l' instant j' ai le resultat souhaite mais avec une procedure ( je debute en VBA) :
Sub couleur()
'Permet de selectionner la plage a examiner'
Set Plage = Application.InputBox("Plage à examiner", Type:=8)
For Each cell In Plage
'Teste la couleur de la cellule à la date du jour qui est en cellule H1'
If cell.Interior.ColorIndex = 44 Or cell.Value > Range("H1") Then
MsgBox ("ok traite")
Else
MsgBox ("Verifie")
End If
Next cell
End Sub
Je voudais la transformer en fonction de maniere a ce que dasn une colonne je mette =couleur(celulle)
- 2ème fichier, il faut un argument supplémentaire pour que la fonction soit recalculée, avec H1, à chaque ouverture du fichier :
Code:
Function Test(cel As Range[COLOR="red"], jour As Date[/COLOR]) As String
If CDate(cel) > 0 And jour > 0 Then Test = IIf(cel.Interior.ColorIndex = 44 Or cel > jour, "OK", "A traiter")
End Function
Edit 1 : si l'on entre des dates antérieures à 1900, VBA ne renvoie pas une erreur, car il traite les dates depuis l'année 100...
Edit 2 : pour les 2 fichiers, si l'on modifie la couleur d'une cellule en colonne I, les formules ne se recalculent pas : il faut appuyer sur F9 pour obtenir le recalcul.