XL 2019 Recherche d'une date dans une plage de cellules

stoky

XLDnaute Junior
Bonjour,

j'ai les jours de 2022 dans la plage de cellule (D12:NE14). je mets une date en A5 et je voudrais par une macro qu'Excel me renvoie à la colonne (entre D et NE) contenant la date mise en A5. Je suis sur ce problème depuis deux jours et je ne trouve rien. Je me permets donc de vous demander de l'aide. Déjà un grand merci de que vous m'apporterez.
 

stoky

XLDnaute Junior
Bonjour,
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = [A5].Address Then
        Set R = [D12:NE14].Find([A5])
        If Not R Is Nothing Then Application.Goto R, True
    End If
End Sub
Bonjour,
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = [A5].Address Then
        Set R = [D12:NE14].Find([A5])
        If Not R Is Nothing Then Application.Goto R, True
    End If
End Sub
 

stoky

XLDnaute Junior
Merci fanch55 mais il me fait une erreur de compil et je ne trouve pas quoi. je joins mon fichier en copiet et si en plus , il peut mettre la date sur fond jaune dans la plage D12:N14, ce serait génial.
Merci d'avance.
 

Pièces jointes

  • agenda sports 2022.xlsm
    132.3 KB · Affichages: 8

fanch55

XLDnaute Barbatruc
stoky.gif
 

Pièces jointes

  • Copie de agenda sports 2022-2.xlsm
    133.9 KB · Affichages: 8

fanch55

XLDnaute Barbatruc
Hello Fanch
Attention à ==>Set R = [Plage_Dates].Find([A5])
Essaye une recherche sur 01/01/2022
Plutôt ==>Set R = [14:14].Find([A5])

**Je n'arrive pas à en trouver la raison..
Salut @Jacky67 ,
ça, c'est le pb traditionnel du Find, quand on ne précise pas tous les paramètres, il conserve ce qu'il avait en mém, on l'oublie quand on veut coder rapidement .
En l’occurrence le code suivant devrait résoudre le pb potentiel actuel :
Set R = [Plage_Dates].Find([A5], lookat:=xlWhole) ;)
 

GALOUGALOU

XLDnaute Accro
re stoky bonsoir le fil, bonsoir le forum
je vous propose une autre solution, mais qui ne remet pas en cause la pertinence des réponses précédentes.
juste pour vous offrir une solution de plus.
coloré de jaune avec une mfc
VB:
Sub date_jour()
Application.ScreenUpdating = False
Dim cellule As Range
On Error Resume Next
For Each cellule In ActiveSheet.Range("D14: NE14")
If cellule = ActiveSheet.Range("A5") Then
ActiveWindow.ScrollColumn = cellule.Column
cellule.Select
End If
Next cellule
End Sub
cdt
galougalou
 

Pièces jointes

  • Copie de agenda sports 2022.xlsm
    132.6 KB · Affichages: 0

Jacky67

XLDnaute Barbatruc
Salut @Jacky67 ,
ça, c'est le pb traditionnel du Find, quand on ne précise pas tous les paramètres, il conserve ce qu'il avait en mém, on l'oublie quand on veut coder rapidement .
En l’occurrence le code suivant devrait résoudre le pb potentiel actuel :
Set R = [Plage_Dates].Find([A5], lookat:=xlWhole) ;)
Mais oui, j'avais complètement zappé, il y a des jours comme ca 😑
 

Discussions similaires

Réponses
4
Affichages
300

Statistiques des forums

Discussions
315 098
Messages
2 116 189
Membres
112 679
dernier inscrit
Yupanki