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

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  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
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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