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 :

Parcourir colonne avec date


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Par défaut Parcourir colonne avec date
    Bonjour,

    j'ai ce code qui fonctionne très bien avec une variable String :

    Sub parcourirColonne2()

    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
    Dim i As Integer
     
        Dim myDate As String
        maDate = "Word"
        MsgBox (maDate)
     
            For i = 1 To 5
     
               MsgBox (Worksheets("Les Pronos").Cells(i, 2).Value)
               If Worksheets("Les Pronos").Cells(i, 2).Value = maDate Then
     
                  MsgBox ("Voulez-vous copiez cette ligne ?")
               End If
     
     
            Next i
     
    End Sub
    Par contre, si je remplace maDate = "Word" par maDate = "15/03/2019", ça ne marche plus, que ce soit avec maDate As String ou maDate As Date.
    Pourriez-vous m'aider à résoudre ce problème svp?
    Merci d'avance.

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour
    essayer avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub testt()
    Dim i As Integer
        Dim myDate As Date
        maDate = #1/15/2019#
    MsgBox Format(maDate, "dd/mm/yyyy")
            For i = 1 To 5
               If Worksheets("feuil1").Cells(i, 2).Value = maDate Then
                  MsgBox ("Voulez-vous copiez cette ligne ?")
               End If
            Next i
     
    End Sub

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Dim myDate As Date
        maDate = DateSerial(2019, 3, 15)
    Une autre solution qui est peu élégante mais qui peut fonctionner en remplaçant Value par Text (mais ça dépend du format de ta cellule) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Dim myDate As String
        maDate = "15/03/2019"
     
    [....]
     
               If Worksheets("Les Pronos").Cells(i, 2).Text = maDate Then
    Une question : es-tu sûr que ce qui se trouve dans ta colonne B soit réellement des "dates" au sens où Excel l'entend.
    Par exemple, si tu mets dans une cellule la formule =B5+1, qu'est-ce que tu obtiens ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    tu peux aussi utiliser la propriété .Value2 qui lira le numéro de série de la date, mais dans ce cas il faut convertir ta date en Long

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub toto()
    Dim MaDate As Date
    MaDate = "11/01/2018"
    Debug.Print ActiveCell.Value2 = CLng(MaDate)
    End Sub

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Par défaut
    Je m'excuse, j'avais mal énoncé mon problème. J'ai d'abord le fichier texte suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    word1-01/03/2019-xxx
    word2-01/03/2019-xxx
    word3-01/03/2019-xxx
    word1-02/03/2019-xxx
    word2-02/03/2019-xxx
    word3-02/03/2019-xxx
    word1-03/03/2019-xxx
    etc...
    Quand je copie ce texte dans excel, il s'insère dans la 1ère colonne. Je le converti en prenant le tiret comme délimiteur. Et c'est de là que vient le problème. Si je fixe maDate="02/03/2019", mon code ne marche pas. Par contre si je clique sur une cellule contenant "02/03/2019" et que je retape "02/03/2019", alors ce coup-ci ça marche.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    926
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 926
    Par défaut
    Je m'excuse car j'avais fait une erreur dans mon code. Au lieu de déclarer ma variable :

    j'avais mis :


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

Discussions similaires

  1. [XL-2007] MFC sur colonne avec date inférieure à la date du jour
    Par jopont dans le forum Excel
    Réponses: 6
    Dernier message: 16/03/2015, 08h39
  2. DataGrid Colonne avec Date
    Par gridin dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 02/03/2011, 11h07
  3. WSS 3.0 Comment mettre une colonne avec date du jour
    Par aurel80 dans le forum SharePoint
    Réponses: 5
    Dernier message: 31/07/2009, 15h12
  4. Nommage d'une colonne avec la date du jour
    Par Mr_I123 dans le forum SAS Base
    Réponses: 2
    Dernier message: 03/04/2009, 10h02
  5. maj d'1 colonne avec la date du jour lors de l'INSERT
    Par Celina dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 18/12/2003, 15h03

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