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 :

Macro Excel et problème de dates


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2025
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2025
    Messages : 6
    Par défaut Macro Excel et problème de dates
    Hello, je suis novice dans les macros. Afin d'automatiser un rapport, j'ai crée une macro mais la partie filtrage des dates ne fonctionne pas. La voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim DateToday As Date
        Dim DateDebut As String
        Dim DateFin As String
     
        DateToday = Date
        DateDebut = Format(DateToday - 7, "d.m.yyyy")
        DateFin = Format(DateToday - 1, "d.m.yyyy")
     
        Cells.Select
        Selection.AutoFilter
        ActiveSheet.Range("$A$1:$AS$104194").AutoFilter Field:=25, _
        Criteria1:=">=" & DateDebut, Operator:=xlAnd, Criteria2:="<=" & DateFin
    Le filtre ne me retourne aucune entrée alors que la colonne 25 possède bien des entrées inclus dans ce range. Le format de la cellule est Date.
    Une idée sur l'erreur que j'ai commise ?

    Merci

  2. #2
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 191
    Par défaut
    Hello,

    je sais, c'est très konkon, mais il faut mettre les dates sous la forme m/d/aaaa même si vos date sont au format d.m.aaaa. Regardez dans la barre de formule, une date utilise un / comme séparateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim DateToday As Date
        Dim DateDebut As String
        Dim DateFin As String
     
        DateToday = Date
        DateDebut = Format(DateToday - 7, "m/d/yyyy")
        DateFin = Format(DateToday - 1, "m/d/yyyy")
     
        Cells.Select
        Selection.AutoFilter
        ActiveSheet.Range("$A$1:$AS$104194").AutoFilter Field:=25, _
        Criteria1:=">=" & DateDebut, Operator:=xlAnd, Criteria2:="<=" & DateFin
    Ceci dit, la sélection de l'intégralité de la feuille ou de la colonne n'est pas vraiment recommandé

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2025
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2025
    Messages : 6
    Par défaut
    Merci mais j'avais déjà essayé, cela ne remonte rien.

    Quand je debugge et que je regarde le filtrage automatique qu'il veut appliquer cela donne :
    Pièce jointe 663736, donc je comprends que cela ne fonctionne pas.
    Pour que cela fonctionne il faudrait qu'il applique :
    Pièce jointe 663738
    Soit DateDebut = Format(DateToday - 7, "m/d/yyyy") et DateFin = Format(DateToday - 1, "m/d/yyyy") ?

    D'ailleurs, quand ce sont ces derniers paramètres qui sont saisis dans le filtrage custom et que je valide, cela fonctionne. Mais la macro le veut pas l'exécuter par elle-meme

    Est-ce que j'ai raté quelque chose ?

  4. #4
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Salut, si ce sont de vraies dates, pourquoi les déclarer en "String" ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Dim DateToday As Date
        Dim DateDebut As Date
        Dim DateFin As Date
     
        DateToday = Date
        DateDebut = DateToday - 7 ' 
        DateFin = DateToday - 1  
     
         Cells.Select
        Selection.AutoFilter
        ActiveSheet.Range("$A$1:$AS$104194").AutoFilter Field:=25, _
            Criteria1:=">=" & DateDebut, Operator:=xlAnd, Criteria2:="<=" & DateFin

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2025
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2025
    Messages : 6
    Par défaut
    Idem, je n'obtiens aucune ligne.

  6. #6
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 191
    Par défaut
    NB : vos pièces jointes ne sont pas visibles, si ce sont des images mettez les en image jointe, pas en fichier joint.

    Chez moi ça fonctionne...
    On peut avoir un extrait anonymisé de votre fichier ?

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

Discussions similaires

  1. Recherchev sous macro excel + date aujourdhui par défaut
    Par bzh44 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/11/2017, 15h16
  2. [XL-2010] Macro Excel - Filtre Antérieur à la date du jour
    Par Boboheme dans le forum Excel
    Réponses: 1
    Dernier message: 08/03/2014, 11h32
  3. Macro Excel Date
    Par nadeson dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/05/2012, 10h48
  4. Macro excel : Lire date création du mail initial
    Par roidurif dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 25/03/2011, 15h02
  5. décalage des dates macro excel
    Par yassinefeki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/05/2010, 01h17

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