VBA chercher date ds colone : ok mais puet on faire plus propre

Résolu
manautop Messages postés 152 Statut Membre -  
manautop Messages postés 152 Statut Membre -
Bonjour,

Je viens vers vous pour essayer de trouver une solution plus propre que la mienne.

j'ai une colonne sous excel qui contient toutes les dates et je souhaite trouver la ligne qui contient la date du jour

j'ai fait cette macro rapidement (et avec une grande aide de Google) mais je pense qu'il existe plus simple


En réalité j'ai besoin de partir à la date du jour car je suis en train de dévelloper une page qui va me donner les 5 prochaines lignes pleines.

Sub ChercheDate()
TrouveDate Date
End Sub

Sub TrouveDate(S As Date)
Dim x

For Each o In Feuil2.Cells
If o.Value2 = S Then SMem = o.Address
If SMem <> "" Then Exit For
Next
If SMem <> "" Then x = SMem Else MsgBox "Pas Trouvé"
Range("a1").Value = x
End Sub



Merci à tous

5 réponses

f894009 Messages postés 17413 Statut Membre 1 715
 
Bonjour a vous deux

exemple de code, nom de la feuille ("feuil1") a adapter

Sub ChercheDate()
  Dim Nbre As Integer, Lig As Integer
  Dim Col_B As Range, DCLB As Integer

  With Worksheets("feuil1")
    'Derniere cellule colonne B
    DCLB = .Range("B" & Rows.Count).End(xlUp).Row
    'Definition Plage a Tester en memoire (plus rapide)
    Set Col_B = .Range("B2:B" & DCLB)
    'Recherche si Date du jour existe
    If Application.CountIf(Col_B, Date) > 0 Then  'Oui
      'Recherche ligne de l'info
      Lig = .Columns("B").Find(Date, .Cells(1, "B"), , xlWhole).Row
      'Ecriture ligne de l'info trouvee
      Range("a1").Value = Lig
    Else  'Non
      MsgBox "Pas Trouvé"
    End If
  End With

End Sub


Bonne suite
2
manautop Messages postés 152 Statut Membre 3
 
Bonsoir,

et merci de votre réponse

les cellules dans dans la colonne B et il y à 365 cellules dans cette colonne ^^
je n'ai pas réussi à adapter mon code pour vérifier qu'une seule colonne.
0
f894009 Messages postés 17413 Statut Membre 1 715
 
Bonjour,

donne la ligne de la Derniere cellule colonne B non vide

DCLB = .Range("B" & Rows.Count).End(xlUp).Row

Si vous allez dans l'aide excel pour End(xlUp) vous trouverez une explication.

Bon courage
0
manautop Messages postés 152 Statut Membre 3
 
Bonjour,

lol j'ai supprimé mon précédant message en pensant qu'il passerait inaperçu ^^
en effet en relisant la macro au calme j'ai compris que ma question n'était pas trés recherché et j'ai compris à quoi cel correspondait ^^

merci à vous pour toute votre aide
0

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

Posez votre question
Heliotte Messages postés 1561 Statut Membre 92
 
Bonsoir,

Dans ce code vous vérifiez toutes les cellules de la feuille alors qu'il suffit de vérifier les cellules d'un colonne.

Q: Pourrait-il exister plusieurs cellules dans la colonne "? je ne sait pas quel est la colonne ?" qui contiennent la date du jour ??
-1