VBA recherche date en ligne

  • Initiateur de la discussion Initiateur de la discussion C@thy
  • 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 !

C@thy

XLDnaute Barbatruc
#1C@thy
  • profile.png
    Voir le profil
  • forum.png
    Voir ses messages
  • message.png
    Message privé
  • email.png
    Envoyer un email
user-online.png

XLDnaute Barbatruc
avatar480_9.gif

Date d'inscription mars 2005Localisation PARISMessages 2 550UtiliseExcel 2003 (PC)

[h=2]
icon6.png
VBA recherche date en ligne[/h]
Bonjour le forum,

ceci fonctionne pour une recherche de date sur une colonne (la A en l'occurence):

Sub rechercheDate()
DerLigne = Range("A" & Rows.Count).End(xlUp).Row
Set a = Range("A2:A" & DerLigne )
b = CDbl(Date)
c = Application.Match(b, a, 0)
ligdeb = a(c).Row
MsgBox "date trouvée en ligne " & ligdeb
End Sub

mais ceci ne fonctionne pas lorsque les dates sont en ligne... (la ligne 2)
Sub rechercheDateLigne()
derCol = Cells(2, Cells.Columns.Count).End(xlToLeft).Column
Set a = Range("D2😀" & derCol )
b = CDbl(Date)
c = Application.Match(b, a, 0)
coldate= a(c).column
MsgBox "date trouvée en colonne " & coldate
End Sub

j'imagine que le match (très pratique!) ne fonctionne pas dans ce cas.

Y a-t-il une solution, à part examiner cellule par cellule les dates répertoriées en ligne???

Merci à vous

Bises

C@thy
 
Dernière édition:
Re : VBA recherche date en ligne

Bonjour Cathy, le forum,

pourquoi le match ne fonctionnerait-il pas?
avec un .find (je ne sais pas si ça te convient mais bon)
VB:
Range("b5") = Rows(1).Find(what:=Range("a5")).Column

qui me permet de trouver la colonne de la date écrite en A5 et de renvoyer le numéro de la colonne en B5 (je ne sais pas comment on traduit un numéro de colonne en Lettre)

Tibo
Edit : salut Pierrot
 
Dernière édition:
Re : VBA recherche date en ligne

Bonjour + bise, C@thy 😀, Pierrot 😀, titiborregan5, le Forum,

Pour une date en ligne 2, peut-être ainsi :

Code:
Option Explicit
Sub Où()
Rows(2).Find(Date).Select
End Sub

A bientôt 🙂

P. S. : Je n'ai pas fourni le bon code pour la question posée 😱... Me faudrait une loupe 🙄
 
Dernière édition:
Re : VBA recherche date en ligne

Bonjour C@thy, bonjour les ami(e)s,

Il faut définir correctement la plage a :

Code:
Sub rechercheDateLigne()
Dim a As Range, b As Double, c As Variant
Set a = [D2].Resize(, Columns.Count - 3)
b = Date 'CDbl(Date)
c = Application.Match(b, a, 0)
If IsNumeric(c) Then MsgBox "date trouvée en colonne " & c + 3
End Sub
CDbl n'est pas nécessaire si b est bien déclarée As Double.

A+
 
- 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

Réponses
2
Affichages
181
Réponses
5
Affichages
333
Réponses
1
Affichages
196
Réponses
4
Affichages
499
Retour