Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro fonction comparae date et couleur cel

fcocotte

XLDnaute Nouveau
Bonjour,

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)

Ci joint un exemple

J'espère être assez claire..

Merci d' avance
 

Pièces jointes

  • CouleurDate.xls
    25 KB · Affichages: 51

kjin

XLDnaute Barbatruc
Re : Macro fonction comparae date et couleur cel

Bonsoir,
Vraiment besoin d'une macro ?!
Uniquement MFC
A+
kjin
 

Pièces jointes

  • fcocotte.xls
    16 KB · Affichages: 50
Dernière édition:

job75

XLDnaute Barbatruc
Re : Macro fonction comparae date et couleur cel

Bonsoir fcocotte, salut kjin,

En restant strictement sur votre schéma,

- avec votre fonction macro Excel 4.0 (adaptée), formule en F3 :

=SI(I3="";"";SI(OU(I3>H$1;couleur=44);"OK";"A traiter"))

- avec cette fonction VBA qui fait exactement la même chose :

Code:
Function Test(cel As Range) As String
If IsDate(cel) Then Test = IIf(cel.Interior.ColorIndex = 44 Or cel > Date, "OK", "A traiter")
End Function

A+
 

Pièces jointes

  • CouleurDate(1).xls
    20.5 KB · Affichages: 49
  • CouleurDate(2).xls
    28.5 KB · Affichages: 40

fcocotte

XLDnaute Nouveau
Re : Macro fonction comparae date et couleur cel

Bonjour,

Merci pour votre aide ,
kjin : ça marche bien ta solution, mais je voulais éviter ça
job75 : super c'est exactement ça que je voulais!

Je vais continuer mon apprentissage...

Bonne journée
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Macro fonction comparae date et couleur cel

Bonjour fcocotte, le forum,

Je n'aime pas rester sur un travail incomplet, voici quelque chose de mieux :

- 1er fichier, en F3, il faut traiter le cas où H1 n'est pas une date :

=SI(JOUR(I3)*JOUR(H$1);SI(OU(I3>H$1;couleur=44);"OK";"A traiter");"")

- 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.

A+
 

Pièces jointes

  • CouleurDate(1 bis).xls
    20 KB · Affichages: 47
  • CouleurDate(2 bis).xls
    28.5 KB · Affichages: 39
Dernière édition:

Discussions similaires

Réponses
7
Affichages
617
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…