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

Access Discussion :

automatisation macros vers excel


Sujet :

Access

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Points : 39
    Points
    39
    Par défaut automatisation macros vers excel
    Bonjour à tous !!!!

    Je travaille avec Access 97 en anglais et d'Excel 2000. J'ai une table d'une 15aine de champs, avec un formulaire (d'environ 200 enregistrements) basé sur cette table, qui me permet d'entrer de nouveaux enregistrements. J'aimerais savoir s'il est possible par un quelconque moyen, en appuyant sur un bouton (de formulaire par exemple), de m'afficher sur une feuille Excel tous les enregistrements correspondants à la semaine écoulée. De plus j'aimerais que la date s'incrémente toute seule à chaque semaine écoulée afin d'éviter aux utilisateurs de changer la date de la semaine(gain de temps impératif pour eux!).

    Voilà, j'espère que je me suis bien exprimé, si vous avez le moindre doute, n'hésitez surtout pas à me poser des questions.

    Merci d'avance.

  2. #2
    Débutant
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Points : 39
    Points
    39
    Par défaut
    Re bonjour à tous!!

    Le problème principal (ce n'est pas trop grave si la date ne s'incremente pas toute seule) est que je puisse faire afficher sur feuille excel tous les enregistrements de la semaine écoulée, c'est le plus important.
    Est-ce que quelqu'un voit de quoi je veux parler ? Et s'il peut me mettre sur la voix? Je vous en serai très reconnaissant.

    Je vous remercie d'avance pour vos réponses.

  3. #3
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    salut,

    cherche dans la FAQ et y'a de bons tuto sur ce site qui traite de l'export ...

  4. #4
    Débutant
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Points : 39
    Points
    39
    Par défaut
    salut GAGNON !! merci de m'avoir répondu et de m'avoir indiqué un endroit où pouvoir chercher.

    je vous dirais ce qu'il en est dans un moment

  5. #5
    Membre régulier

    Inscrit en
    Août 2005
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 102
    Points : 119
    Points
    119
    Par défaut
    Salut Pascal

    Pour avoir les enregistrements de moins d'une semaine, tu peux prendre comme critère dans ta requête :

    Between (Date()-7) And (Date())

  6. #6
    Débutant
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Points : 39
    Points
    39
    Par défaut
    Bonjour Meduse !!!

    Je te remercie de m'avoir éclairé sur ce point !!

    Pendant que j'y suis, j'ai essayé de mettre dans ma requete (dans la deuxième colonne) un autre filtre qui m'affiche tous les enregistrements dont la date de la demande est connue (c'est-à-dire qu'il affiche les enregistrements dont les analyses sont en cours et celles qui ne sont pas commencées); car il peut y avoir des analyses à faire mais qui ne sont pas encore commencées. Le problème est que j'ai la forte impression qu'il se produit une opération booleenne dans ma feuille excel. Je m'explique :
    En gardant le code précédent, j'ajoute Date (Ascending) afin qu'il s'affiche sur ma feuille excel le résultat de la première et de la deuxième colonne de ma requete. Mais il se produit une "combinaison" des deux colonnes de la requete, c'est-à-dire qu'il apparait toutes les analyses comprises dans la semaine souhaitée et c'est tout !! Je me suis surement mal expliqué.....

    Ce que souhaite : c'est qu'il s'affiche les analyses de la semaine écoulée + les analyses qui ne sont pas encore commencées, et nonpas une combinaison des deux; si cela est possible bien entendu.

  7. #7
    Membre régulier

    Inscrit en
    Août 2005
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 102
    Points : 119
    Points
    119
    Par défaut
    Dans un requête en vue Design :
    Tous les critères que tu mets sur la même ligne (par exemple si tu les mets tous sur la ligne Criteria) sont liés par des ET. Pour que les critères ne se combinent pas (OU au lieu de ET), il faut les mettre sur des lignes différentes : le premier en face de Criteria, le deuxième en face de Or, le troisième sur la ligne suivante etc.
    Tu peux vérifier dans la vue SQL: regarde après WHERE si c'est un AND ou un OR.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Salut,

    Une fois que tu as créé ta requete, regarde ici pour générer un fichier excel.

    A+

  9. #9
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 410
    Points : 19 984
    Points
    19 984
    Billets dans le blog
    66
    Par défaut
    j'ai pris le code de Muhad'hib et j'ai adapté la requête dans le test, si ca peut t'aider :

    ' calcule le 1er jour de la semaine écoulée

    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
    Function first_day_last_week() As Date
    Dim j As Integer
     
    j = WeekDay(Date, vbMonday)
    first_day_last_week = DateAdd("d", 1 - j - 7, Date)
     
    End Function
     
    ' et le test
     
    Function test()
    Dim Chemin  As String
    Dim Rs As DAO.Recordset
    Dim Excl As Object
    Dim Sql As String
     
    On Error GoTo Test_Err
     
    'Chemin = "c:\test.xls"
    Chemin = ""
    Sql = "select * from tatable where [tadate] between #" & Format(first_day_last_week, "mm/dd/yyyy") & "# and  #" & Format(first_day_last_week + 6, "mm/dd/yyyy") & "#" & _
          " order by date;"
     
    Set Rs = CurrentDb.OpenRecordset(Sql, dbOpenSnapshot)
    Set Excl = fExportExcel(Chemin, Rs, True, 2, 1)
    If Excl.Name <> "" Then
        'Autres manipulation du classeur
        Excl.Application.Visible = True
        Excl.Cells(1, 1) = "titre du document"
        Excl.SaveAs "c:\test_bis.xls"
        Excl.Application.Quit
        Set Excl = Nothing
    End If
    Exit Function
    Test_Err:
     
    If Err.Number <> 91 Then
     
    MsgBox "Une erreur inattendue est apparue dans la fonction Test. L'erreur N° " & Err.Number & " ( " & Err.Description & " )! Contactez l'administrateur.", vbOKOnly + vbCritical, "Erreur inattendue !"
     
     
    End If
    Set Excl = Nothing
    Set Rs = Nothing
     
    End Function

    @+

  10. #10
    Débutant
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Points : 39
    Points
    39
    Par défaut
    Salut tout le monde !!!! !! !!!!

    Je remercie très sincèrement ceux qui m'ont répondu, Meduse, User et Muhad'hib de m'avoir autant éclairer sur le problème (j'en suis presque ébloui, hum......). Je ne pensais qu'autant de mode s'interresserait à mon problème, je suis même étonné, mais je ne vais pas m'en plaindre !!!

    Je viens juste de voir vos commentaires que je vais donc tenter de reproduire sur ma bdd. Dès que j'aurais fais le tour, je vous ferais part de mes éventuels problèmes ou de ma réussite (ou de la votre plutôt!).

  11. #11
    Débutant
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Points : 39
    Points
    39
    Par défaut
    Je réponds à Meduse :

    J'ai saisi ce que tu m'as dis mais ça ne fonctionne pas, voici mon code SQL de ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT [Copy of T_Demandeurs2].InputDate, [Copy of T_Demandeurs2].OutputDate
    FROM [Copy of T_Demandeurs2]
    WHERE ((([Copy of T_Demandeurs2].OutputDate) Between #1/1/2006# And #1/7/2006#))
    ORDER BY [Copy of T_Demandeurs2].InputDate;
    Il m'affiche toujours les enregistements dans l'ordre croissant qui ont une date de demande d'analyse (InputDate), tous les enregistrements l'ont. Jusque là pas de soucis. Mais il ne prend pas en compte dans OutputDate mon Between #date1# And #date2#, c'est-à-dire qu'il prend tous les enregistrements (qu'ils soient pendant ou non cette période de dates).

    Ma question est courte, pourquoi?

    Merci d'avance pour vos réponses.

  12. #12
    Membre régulier

    Inscrit en
    Août 2005
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 102
    Points : 119
    Points
    119
    Par défaut
    Euh...Là je sèche.

    Le problème vient peut-être d'une subtilité dans le format, regarde dans la FAQ :
    http://access.developpez.com/faq/?pa...q#ReqDateHeure
    http://access.developpez.com/faq/?page=dates#DateFormat

  13. #13
    Débutant
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 167
    Points : 39
    Points
    39
    Par défaut
    Merci Meduse pour liens que tu m'as indiqué. Mais je n'ai pas trouvé mon bonheur.

    Sinon j'ai une solution de repli. Qui est que je fasse afficher mes résultats sur deux feuilles excel différentes, c'est-à-dire que sur la première on aurait les enregistrements qui sont compris dans la date que je veux, et l'autre avec tous les enregistrements par ordre croissant de InputDate (c-à-d les analyses qui ne sont ni commencées et pas finies (forcément)).
    Puis tout rassembler sur une même feuille et le tour est joué! Non?

    Ce qui me parait un peu long à manipuler, si je peux éviter cette dernière solution, ça me serait bien utile.
    En espérant l'aide de l'un d'entre vous, je vous remercie d'avance.

Discussions similaires

  1. Automatisation export vers excel
    Par cefanic dans le forum Access
    Réponses: 2
    Dernier message: 15/05/2007, 12h29
  2. Automatisation remplissage vers excel
    Par omacama dans le forum Access
    Réponses: 4
    Dernier message: 30/01/2007, 09h47
  3. access97 pb filtres dans macro vers excel
    Par pascal913 dans le forum Access
    Réponses: 11
    Dernier message: 30/06/2006, 11h36
  4. [VB6] Executable automatisation macro excel + envoi mail
    Par jyrki69 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 04/05/2006, 18h13
  5. [VBA-E] macro conversion excel vers csv
    Par baboune dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/07/2004, 09h23

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