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 :

filtre mois anterieur [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire Technico-Administratif
    Inscrit en
    Novembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Gestionnaire Technico-Administratif
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 34
    Points : 9
    Points
    9
    Par défaut filtre mois anterieur
    Bonjour,
    je reviens vers vous car je n'ai pas trouver ce que je voulais sur le net.
    J'ai un tableau de sortie quotidienne de matériel (avec une colonne "date")
    Tous les 1er jour ouvrés du mois il faut que j'envoie un mail 'que j'aimerais aussi automatiser à l'ouverture du classeur)avec ce qui est sortie sur le mois précédent, c'est là que ça coince, car je n'arrive pas à faire un filtre, donc le mail envoyé contient tout depuis le 1er jour.
    J’espère avoir été assez clair.
    Merci de votre collaboration.

  2. #2
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    De quelle façon envoies-tu les données dans ton mail ?
    Est-ce une copie des données dans le corps de mail ? Crées-tu un autre fichier que tu joins au mail ?
    Il faudrait voir ton code (copie dans le message avec des balises CODE) d'envoi de mail pour comprendre comment tu fais.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire Technico-Administratif
    Inscrit en
    Novembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Gestionnaire Technico-Administratif
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Menhir Voir le message
    De quelle façon envoies-tu les données dans ton mail ?
    Est-ce une copie des données dans le corps de mail ? Crées-tu un autre fichier que tu joins au mail ?
    Il faudrait voir ton code (copie dans le message avec des balises CODE) d'envoi de mail pour comprendre comment tu fais.
    j’envoie un fichier pdf
    voici mon code


    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Sub envoi_outillage()
    Dim nomFichier As String
        Dim cheminFichier As String
        Dim CorpsMessage As String
     
     
     
     
       nomFichier = ("sortie outillage") & ".pdf"
        cheminFichier = Environ("Temp") & "\" & nomFichier
     
        Sheets("Sortie outillage").Select  ' Partie du code permettant l'enregistrement du fichier
        derlgn = Range("A" & Rows.Count).End(xlUp).Row
    Set Source = Range("A1:F" & derlgn).SpecialCells(xlCellTypeVisible)
     
            ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=cheminFichier, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=False
     
     
    Dim ObjOutlook As Object
    Set ObjOutlook = CreateObject("outlook.application")
     
    Set oBjMail = ObjOutlook.CreateItem(olMailItem)
            With oBjMail
     
                .To = "xxxxx@xxxxx.xx"
                .Subject = "Rapport outillage magasin"
                .Body = "Bonjour," & vbCrLf & vbCrLf _
                        & "Veuillez trouver ci-joint le rapport mensuel des sorties outillages du magasin" & " " & vbCrLf & vbCrLf _
                        & "Cordialement" & vbCrLf & vbCrLf _
     
     
     
     
                .Attachments.Add cheminFichier '& Fichier '& ".pdf"  'pièces jointes
                .Send
     
         ' Partie fermeture
     
     
     
        End With
    End Sub

  4. #4
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Il faudrait qu'à la ligne 15, la macro génère un filtre avec les critères que tu indiques dans ton premier message.
    Ca masquerait les lignes indésirables et ne laisserait visible que les lignes que tu souhaites placer dans ton PDF.

    Pour mettre en place un filtre, lire ça : https://docs.microsoft.com/fr-fr/off...cel.autofilter
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire Technico-Administratif
    Inscrit en
    Novembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Gestionnaire Technico-Administratif
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Il faudrait qu'à la ligne 15, la macro génère un filtre avec les critères que tu indiques dans ton premier message.
    Ca masquerait les lignes indésirables et ne laisserait visible que les lignes que tu souhaites placer dans ton PDF.

    Pour mettre en place un filtre, lire ça : https://docs.microsoft.com/fr-fr/off...cel.autofilter
    Merci pour ce lien, mais n'étant pas très à l'aise avec VBA, je ne vois pas comment je peux l'adapter à mon code.
    Désolé.

  6. #6
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Etant donné le peu d'informations que tu fournis, il n'est pas possible de t'écrire une ligne de code.

    A titre personnel, je n'apprécie pas trop ceux qui écrivent qu'il ne savent pas faire 30 min après qu'on leur ait donné l'information sans prendre même la peine d'essayer.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire Technico-Administratif
    Inscrit en
    Novembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Gestionnaire Technico-Administratif
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Etant donné le peu d'informations que tu fournis, il n'est pas possible de t'écrire une ligne de code.

    A titre personnel, je n'apprécie pas trop ceux qui écrivent qu'il ne savent pas faire 30 min après qu'on leur ait donné l'information sans prendre même la peine d'essayer.
    Je comprend, je ne demande pas du tout cuit, aussi j'ai pris la peine de lire et de regarder le code, mais je ne vois pas où je peux mettre les paramètres du mois précédent...

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire Technico-Administratif
    Inscrit en
    Novembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Gestionnaire Technico-Administratif
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    je viens de faire quelques essais en modifiant mon code de façon à filtrer, envoyer le mail et supprimer le filtre. Ça semble fonctionner mais ce que je n'arrive pas c'est de faire en sorte que ce soit sur le mois antérieur.

    voici le nouveau code

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Sub envoi_outillage()
    Dim nomFichier As String
        Dim cheminFichier As String
        Dim CorpsMessage As String
     
     
     
     
       nomFichier = ("sortie outillage") & ".pdf"
        cheminFichier = Environ("Temp") & "\" & nomFichier
     
        Sheets("Sortie outillage").Select  ' Partie du code permettant l'enregistrement du fichier
        derlgn = Range("A" & Rows.Count).End(xlUp).Row
    Set Source = Range("A1:F" & derlgn).SpecialCells(xlCellTypeVisible)
     
    ActiveSheet.ListObjects("Tableau22").Range.AutoFilter Field:=2, Operator:= _
            xlFilterValues, Criteria2:=Array(1, "7/31/2020")
     
     
            ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=cheminFichier, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=False
     
     
    Dim ObjOutlook As Object
    Set ObjOutlook = CreateObject("outlook.application")
     
    Set oBjMail = ObjOutlook.CreateItem(olMailItem)
            With oBjMail
     
                .To = "xxxxx@xxxx.xx"
                .Subject = "Rapport outillage magasin"
                .Body = "Bonjour," & vbCrLf & vbCrLf _
                        & "Veuillez trouver ci-joint le rapport mensuel des sorties outillages du magasin" & " " & vbCrLf & vbCrLf _
                        & "Cordialement" & vbCrLf & vbCrLf _
     
     
     
     
                .Attachments.Add cheminFichier '& Fichier '& ".pdf"  'pièces jointes
                .Send
     
         ActiveSheet.ListObjects("Tableau22").Range.AutoFilter Field:=2
     
     
     
        End With
    End Sub

  9. #9
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    10 min avec l'enregistreur automatique de macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.ListObjects("Tableau22").Range.AutoFilter Field:=2, Criteria1:=xlFilterLastMonth, Operator:=xlFilterDynamic
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Gestionnaire Technico-Administratif
    Inscrit en
    Novembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Gestionnaire Technico-Administratif
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2019
    Messages : 34
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Menhir Voir le message
    10 min avec l'enregistreur automatique de macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.ListObjects("Tableau22").Range.AutoFilter Field:=2, Criteria1:=xlFilterLastMonth, Operator:=xlFilterDynamic
    merci beaucoup, c'est bien ce que je voulais.

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

Discussions similaires

  1. [AC-365] Formulaire tabulaire: ajouter bouton filtre mois
    Par zire478 dans le forum IHM
    Réponses: 10
    Dernier message: 01/12/2019, 20h01
  2. filtre par semaine et par mois
    Par sam591 dans le forum Débuter
    Réponses: 2
    Dernier message: 04/05/2008, 19h52
  3. [BO 5.1.6][Designer] Filtre mois saisie sur 3 ans
    Par julien2602 dans le forum Designer
    Réponses: 12
    Dernier message: 26/02/2008, 11h59
  4. Filtre sur la première date du mois suivant!
    Par VBBBA dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/06/2007, 20h44
  5. Filtre sur les données des 3 derniers mois?
    Par Arkalys dans le forum Access
    Réponses: 2
    Dernier message: 21/10/2005, 09h02

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