VBA Excel : Date en VBA

Résolu
KMIKZ Messages postés 21 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 26 avril 2008 - 17 juil. 2007 à 13:13
KMIKZ Messages postés 21 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 26 avril 2008 - 25 juil. 2007 à 09:37
Bonjour, ça parait peut être simple mais je n'arrive pas à chercher dans une plage de cellules la date d'aujourd'hui et la mettre en rouge par exemple.
De l'aide SVP

Merci d'avance

KMIKZ

11 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
17 juil. 2007 à 23:47
Ou encore, si le format de date est bien correct, qu'il soit inscrit en jj/mm/aaaa ou jjjj mmmm aa, tant que le format est reconnaissable comme étant une date, cette cellule aura toujours la même valeur numérique Long

Donc, en formules Excel et à partir de ce tableau
<col style=\"width: 65pt;\" width=\"87\" /><col style=\"width: 60pt;\" width=\"80\" />----
17-juil-07,     OK, ----
17-juil,     OK, ----
17
juillet 2007,     OK, ----
17-7-07,     OK, ----
juillet-07,     OK

Et la formule en B:
SI(CNUM(A1)CNUM(AUJOURDHUI());  "OK";  "Pas OK")

Sous VBA, ce serait quelque chose comme
If CLng(Range("A1")) = CLng(Date) Then
    Range("B1") = "OK"
Else
    Range("B1") = "Pas OK"
End if

MPi
3
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
17 juil. 2007 à 14:20
En VBA, il suffit de défiler toute la plage de cellule et de comparer le contenu de la celulle avec la date du jour, quelque chose dans ce style :

Pour une plage A1:J10

Dim i as integer
Dim j as integer

For i = 1 to 10
   For j = 1 to 10
      if cells(i,j).value = now() then
         cells.interior.color = 'Choix de la couleur
      end if
   Next j
Next i

Mais il serait aussi simple à mon sens si c'est juste pour mettre en subrillance la date du jour, de mettre une mise en forme conditionnelle sur chaque cellule de la plage en mettant comme condition :
La formule est : =A1=AUJOURDHUI()

Molenn
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
17 juil. 2007 à 14:22
Salut,
Regarde ces lignes de codes, tu devrais pouvoir les adpadter pour résoudre tes problème

'Selction d'un plage
Range("A1:C7").Select
'recherche de la date dans une selection
Selection.Find(Date, ActiveCell, xlFormulas, xlPart, xlByRows, xlNext, False).Activate
'inscrire la cellule active en Rouge
ActiveCell.Font.Color = vbRed
'COntinuer une recherche
Call ActiveCell.FindNext(ActiveCell)
, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
17 juil. 2007 à 14:23
Re,
ATTENTION [auteurdetail.aspx?ID=528680 Molenn], now inclut l'heure!!!!

@+: Ju£i?n
Pensez: Réponse acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
17 juil. 2007 à 14:36
Zut, j'ai été vite fait et j'ai pas contrôlé ^^
Bon, ben faut utiliser Date à la place

Molenn
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
17 juil. 2007 à 23:12
Bonsoir,

Soit dit en passant, le problème de KMIZ peut être plus compliqué si la date à retrouver est une entrée clavier, donc dans un formatage particulier. Par exemple : "17 juillet 2007" ne sera pas reconnu avec "Date"... il faudra passer aussi par "Format", si ma mémoire est bonne...


Amicalement,
Us.
0
KMIKZ Messages postés 21 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 26 avril 2008
18 juil. 2007 à 07:11
Merci à tous pour une réponse si rapide !
Je vois ce que ça donne suivant mon besoin !
Merci
Bonne journée
Manuel
0
KMIKZ Messages postés 21 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 26 avril 2008
18 juil. 2007 à 10:02
Je trouve ce que je recherche dans tous vos programmes
Je pense que ma façon de réfléchir est du type de MPi
Encore merci à vous tous pour vos réponses
A bientôt pour de nouvelles questions ...
KMIKZ
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
18 juil. 2007 à 11:05
Si c'est la méthode de MPi qui est ta logique, dans ce cas, tu n'as pas besoin de code VBA puisque ce que MPi représente, ce n'est jamais que la logique de la mise en forme conditionnelle.
La colonne B, c'est la condition de ta mise en forme et tu n'as plus qu'à gérer les couleurs. En plus, c'est du temps réel, pas besoin de déclencher une macro pour que ton fichier se mette à jour.

Loin de moi l'idée de vouloir dire que ce que je donnais dans mon poste est mieux que ce que propose MPi , mais quand les outils sont déjà intégrés dans l'appli, autant ne pas les ré-écrire. Un bon fichier Excel, c'est un fichier qui n'a pas de code VBA ^^

Molenn
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
18 juil. 2007 à 12:01
Salut Molenn,
Loin de moi l'idée de dire que ce que je donne est mieux que ce que tu proposes...
En fait, je suis d'accord avec toi concernant la mise en forme conditionnelle. Rien ne sert de créer du code pour faire ce qu'Excel est capable de faire lui-même.

Pour ce qui est du VBA, par contre...
Il ne faut pas oublier qu'un programme Excel surchargé de formules, formats conditionnels et autres deviendra éventuellement lent à l'utilisation. Et on peut alléger ce problème à l'aide de VBA...

Mais bon... ce n'est pas l'endroit pour en débattre... Bonne journée.

MPi
0
KMIKZ Messages postés 21 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 26 avril 2008
25 juil. 2007 à 09:37
Je tenais juste à vous signaler que mes questions sur le forum sont pour moi les plus basiques possible comme ça je peux construire moi-même une macro autour de vos indications et ainsi ne pas devenir un assisté ! lol

KMIKZ
0
Rejoignez-nous