IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

.FIND ne trouve pas les dates [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 121
    Par défaut .FIND ne trouve pas les dates
    Bonjour,

    Malgré les nombreux exemples je ne trouve pas d'explication au non fonctionnement de ma macro !!
    Je souhaite rechercher des dates à l'aide de la fonction "Find".
    J'ai bien noté qu'à priori il fallait utiliser "LookIn:=xlFormulas" au lieu de "LookIn:=xlValues" mais rien n'y fait.
    Le code reste muet !!
    Il n'est pas complet puisque j'en suis qu'au module de recherche.
    Cette macro est sensée rechercher une date de la feuille "Recup1" dans la feuille "Tampon"

    Je suis sec
    @+
    Nono
    Voici le code en question (fichier exemple joint également):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Sub Maj()
     
    ' Mise à jour de la feuille
    ' Fait une boucle de tout les jours de l'année, créer autant de ligne qu'il y a d'entrées par date
     
     
        Dim oSht As Worksheet
        Dim lastRow As Long, i As Long
        Dim strSearch As String
        Dim t As Long
        Dim aCell As Range
     
    Set oSht = Worksheets("Tampon")
     
        lastRow = oSht.Range("B" & Rows.Count).End(xlUp).Row
     
    For x = 2 To 250
     
        On Error GoTo Err
     
        strSearch = Worksheets("Recup1").Cells(157, "A") ' met la date référence calendrier en mémoire (05/06/05/06/2013)
     
        Set aCell = oSht.Range("B4:B" & lastRow).Find(What:=strSearch, LookIn:=xlValues)
        'Set aCell = oSht.Range("B4:B1000").Find(What:="05/06/2013", LookIn:=xlFormulas, lookat:=xlWhole)
     
        If Not aCell Is Nothing Then
            Debug.Print "Trouvé !! " & vbCrLf & "Value Found in Cell " & aCell.Address
            Exit Sub
        End If
     
    Next x
    Exit Sub
     
    Err:
        MsgBox Err.Description
     
    End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Que dirais tu d'un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Find(cdate(tadate), LookIn:=xlValues, LookAt:=xlPart, SearchFormat:=False)

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Remplace les lignes correspondantes par

    Et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Set aCell = oSht.Range("A4:A" & LastRow).Find(What:=strSearch, LookIn:=xlFormulas, lookat:=xlWhole)
    Find avec les dates est à prendre avec précautions

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonsoir,

    Pour le typage de la variable "strSearch", pas en String mais en Date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim strSearch As Date
    Pour la conversion des String en Date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strSearch = CDate(Worksheets("Recup1").Cells(157, "A"))
    Normalement, la date devrait être trouvée si elle existe.

    Hervé.

    Bonsoir mercatog (et tous le forum bien sûr !),

    Désolé, je n'ai pas rafraîchi :-(

    Hervé.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 121
    Par défaut EUREKA
    RE,

    Merci à vous tous, ça fonctionne à merveille !!!
    Bon sang que l'on peut s'embêter pour des conn*** !
    Bien vu aussi pour la colonne "A" au lieu de "B"
    (En fait j'ai ressorti les feuilles d'un classeur plus gros et je n'ai pas fait attention qu'il y avait un décalage !!)

    Je retiendrai la leçon pour cette satanée fonction !!

    Encore merci !!

    @+

    Nono

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. trouve pas les source avec le debugger ?
    Par decksroy dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 12/07/2006, 11h50
  2. [RSS] je ne trouve pas les flux.
    Par Maxoo dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 6
    Dernier message: 24/04/2006, 11h51
  3. [SGBD] ne trouve pas les libs mysql
    Par zinoh dans le forum Débuter
    Réponses: 2
    Dernier message: 14/04/2006, 17h17
  4. [Tomcat]Tomcat ne trouve pas les driver mysql
    Par Lash3r dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 06/01/2006, 02h12
  5. [FEDORA] Je ne trouve pas les fichiers includesous Feodra core 3 ?
    Par sali dans le forum RedHat / CentOS / Fedora
    Réponses: 4
    Dernier message: 23/10/2005, 00h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo