XL 2010 Résolu par la communauté bienveillante : atteindre la première cellule = à aujourd'hui

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir à toutes et à tous,

Nouveau souci dans mon fichier.
Me re-voilou faisant appel à votre bienveillance :)

Le souci
je dois appeler des clients à des dates programmées (col Y)
Mon besoin est d'atteindre avec un code en Module Standard :
1 - la première cellule égale à aujourd'hui

J'ai bien sûr fait des recherches sur le forum et chez google.
Je n'ai pas trouvé.
J'ai tenté (find) mais je n'y arrive pas.

Dans l'espoir que vous pourrez m'aider, je joins un fichier test.
Je vous remercie déjà de m'avoir lu.
Amicalement,
Lionel,
 

Pièces jointes

  • Test atteindre aujourdhui.xlsm
    21.9 KB · Affichages: 36

Lone-wolf

XLDnaute Barbatruc
Re Lionel

Comme ceci c'est beaucoup mieux, sans utiliser Match et sans devoir sélectionner la cellule.

VB:
Option Explicit

Sub atteindre()
Dim plage As Range, cel As Range, dt As Date

  Application.ScreenUpdating = False

  With Feuil1
  Set plage = .Range("b2:b" & Range("b" & Rows.Count).End(xlUp).Row)

  For Each cel In plage
  If cel = Date Then
  cel.Activate
  cel.Interior.Color = vbRed
  cel.Font.Color = vbWhite
  cel.Offset(1, 0).Interior.Color = xlNone
  cel.Offset(1, 0).Font.Color = vbBlack
  End If
  dt = DateDiff("d", Date, .Range("e2").Value)
  If dt > 1 And cel.Value = Date Then
  cel.Offset(1, 0).Activate
  cel.Offset(0, 0).Interior.Color = xlNone
  cel.Offset(0, 0).Font.Color = vbBlack
  cel.Offset(1, 0).Interior.Color = vbRed
  cel.Offset(1, 0).Font.Color = vbWhite
  End If
  Next cel
  End With

End Sub
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re Lionel

Encore une petite comodité, si dans ton fichier la colonne des dates vas jusqu'en 2020 par exemple. Just'après cel . activate et cel.Offset(1, 0).Activate

ActiveWindow.ScrollRow = cel.Row - 3

Et pour revenir en A1, clique sur une des cellules

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Columns("B:B")) Is Nothing And Target.Count = 1 Then _
ActiveWindow.ScrollRow = 1
End Sub

EDIT: de quel code précédent parle-tu?
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,
(...) Est-il possible que la date atteinte soit toujours supérieure ? (...)

Voir la version v2 qui affiche dans l'ordre :

  1. le jour d'aujourd'hui
  2. le jour immédiatement supérieur à aujourd'hui
  3. le jour immédiatement inférieur à aujourd'hui
 

Pièces jointes

  • arthour973- Aller à aujourd'hui- v2.xls
    39.5 KB · Affichages: 39

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re,


Voir la version v2 qui affiche dans l'ordre :

  1. le jour d'aujourd'hui
  2. le jour immédiatement supérieur à aujourd'hui
  3. le jour immédiatement inférieur à aujourd'hui
Bonour à toutes et à tous,
Bonjour Mapomme,

C'est tout bon, le code atteint bien la date supérieure la plus proche.
Mais pas la date la plus proche inférieure (où je suis mal réveillé LOL),

J'essaie de comprendre le code et j'ai 2 questions :

Je n'ai pas trouvé l'incidence de :
Sans titre.jpg

Le code s'exécute à partir de la ligne 3. Je n'ai pas trouvé comment comment commencer à partir d'une autre ligne (ligne 5 par exemple)
Encore merci, le code tel quel correspondant déjà très bien à ma recherche.
Bon WE,
Amicalement,
Lionel,
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re Lionel

Encore une petite comodité, si dans ton fichier la colonne des dates vas jusqu'en 2020 par exemple. Just'après cel . activate et cel.Offset(1, 0).Activate

ActiveWindow.ScrollRow = cel.Row - 3

Et pour revenir en A1, clique sur une des cellules

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Columns("B:B")) Is Nothing And Target.Count = 1 Then _
ActiveWindow.ScrollRow = 1
End Sub

EDIT: de quel code précédent parle-tu?
Bonjour Lone,

En fait j'ai gardé ton dernier code post 32.
Je vais avoir 2 supers codes LOL
Merci pour ce complément Lone,
Bon WE :)
Amicalement,
Lionel,
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour arthour973,


(...) C'est tout bon, le code atteint bien la date supérieure la plus proche.(...)
C'est déjà ça.


Je n'ai pas trouvé l'incidence de :......
Les deux options sont uniquement pour mon fichier joint et pour tester !
  1. la première option fait disparaître la date du jour
  2. la seconde options fait disparaître toute les date supérieures à la date du jour

Mais pas la date la plus proche inférieure (où je suis mal réveillé LOL),
Quand les deux options sont à Non, on atteint la date du 3 février qui semble bien être la date antérieure la plus proche d'aujourd'hui.


Le code s'exécute à partir de la ligne 3. Je n'ai pas trouvé comment comment commencer à partir d'une autre ligne (ligne 5 par exemple)
Voir le fichier v3.
Modifier dans le code la valeur de la constante Depart (adresse de la première cellule des dates sources)
 

Pièces jointes

  • arthour973- Aller à aujourd'hui- v3.xls
    40 KB · Affichages: 36
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote