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

  • Initiateur de la discussion Initiateur de la discussion stoky
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

Pièces jointes

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) 😉
 
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

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 😑
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour