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 :

probleme trouver une date


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut probleme trouver une date
    Bien le bonjour,

    J'ai un problème je recherche une date dans une feuille et j'aimerai lorsque cette dernière est trouvée , me retourner le N° de Ligne de l'occurence.

    Bien que toute les dates existent dans le range il ne me renvoi jamais de N° de Ligne donc la condition if n'est pas accomplie.
    Newdate est variable au format tel que 22/04/2013
    Le FOrmat des cellules son bien date 22/04/2013 également (jj/mm/aaaa)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim o As Variant
     
        For Each o In Sheets("Suivi par demi journée Q2").Range("D8:D" & LastLigne)
            If o.Value2 = Newdate Then LigneNewdate = o.Row
        Next
    Merci

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    je vois pas dans ton code comment tu déclare et affecte une valeur à la variable NewDate ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut
    J'ajoute le code en entier


    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
    Dim DLundi As Date
    DLundi = LPAP(Date)
    Dim NbJour As Integer
     
    NbJour = DateDiff("d", DLundi, Date)
     
    Dim X As Integer
    Dim LastLigne As Integer
    Dim DerniereLigne As Integer
    LastLigne = Sheets("Suivi par demi journée Q2").Range("D" & Rows.Count).End(xlUp).Row
    DerniereLigne = Sheets("Rappel").Range("A" & Rows.Count).End(xlUp).Row
    Dim Newdate As Date
     
    For X = 0 To NbJour - 1
        Newdate = DateAdd("d", X, DLundi)
        ' recherche de la ligne de la nouvelle date
     
        Dim A As Integer
        Dim LigneNewdate As Integer
        Dim o As Variant
     
        For Each o In Sheets("Suivi par demi journée Q2").Range("D8:D" & LastLigne)
            If o.Value2 = Newdate Then LigneNewdate = o.Row
        Next
     
     
        Call RetourAbsent(LigneNewdate, Newdate)
        DerniereLigne = Sheets("Rappel").Range("A" & Rows.Count).End(xlUp).Row
    Next

    La fonction LPAP trouve by net qui me renvoi le lundi precedent ( j ai du corriger kk peu car ca me retournais le MArdi...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function LPAP(ByVal Dte As Date) As Date
    Dim MaDate As Date
     
    MaDate = DateAdd("ww", -1, Dte)
    MaDate = DateAdd("d", 0 - Weekday(MaDate, vbMonday), MaDate)
    MaDate = DateAdd("yyyy", -1, MaDate) + 1
    LPAP = MaDate
    End Function

  4. #4
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut
    Trouver la fonction LPAP ne me renvoyait pas une date correcte du coup normale que cette derniere ne soit pas trouver.

    j'ai modifié juste ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function LPAP(ByVal Dte As Date) As Date
    Dim MaDate As Date
     
    MaDate = DateAdd("ww", -1, Dte)
    MaDate = DateAdd("d", 1 - Weekday(MaDate, vbMonday), MaDate)
    ' MaDate = DateAdd("yyyy", -1, MaDate) + 1
    LPAP = MaDate
    End Function
    du coup je recupere la bonne date.

    Je mets en RESOLU

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

Discussions similaires

  1. Trouver une date d'après un N° de semaine et une année
    Par lezinve dans le forum Général VBA
    Réponses: 2
    Dernier message: 26/02/2010, 12h38
  2. Réponses: 9
    Dernier message: 08/08/2009, 23h32
  3. trouver une date à partir d'un nombre de jours
    Par charlene44 dans le forum Delphi
    Réponses: 4
    Dernier message: 21/08/2006, 14h27
  4. [Oracle] probleme avec une date
    Par ghostdog dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/05/2006, 10h59
  5. probleme avec une date
    Par somatino dans le forum Requêtes
    Réponses: 3
    Dernier message: 29/03/2006, 15h56

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