Formulaire excel fichier attaché+macro

Jeremy -  
 Utilisateur anonyme -
Bonjour,

J'aimerais savoir si quelqu'un peut m'aider?!

Je rencontre actuellement une problématique que je doute être capable de régler à l'aide d'Outlook et d'Excel 2003 mais n'en suis pas totalement certain.
J'explique ma problématique:
J'ai fait parvenir à tous mes clients un formulaire excel à remplir.
Lorsqu'ils ont des demandes d'acquisition à m'adresser, ils remplissent les champs demandés dans le formulaire tels le nom et prénom, l'adresse de livraison, le type d'achat, etc. et me le font parvenir par courriel.
Je reçois donc ce formulaire en pièce jointe au sein d'un courriel qui atterrit dans ma boite de messagerie outlook.
Ma méthodologie actuelle est la suivante:
J'enregistre ce fichier (formulaire) sur mon ordi et parallèlement, j'ouvre un autre fichier excel (ma base de données montée à la mitaine) dans lequel je répertorie chaque demande en lui attribue un numéro.

Ce que j'aimerais faire:
Diminuer le nombre de manipulations.
J'ai été lire sur les macros (car je n'étais pas familier avec le sujet) et me demande s'il serait pertinent d'en insérer dans mon formulaire...
Si j'en insère, pourrais-je, par exemple, lorsque je reçois le formulaire dans ma boite outlook, l'enregistrer sur mon ordi tout en le faisant "parler" à une base de données "automatisée" qui mettrait toutes les informations que je désire dans la base de données?
Et si tel est le cas, y aurait-il moyen d'automatiser les numéros d'identification à donner à chaque demande?

Merci d'avance!

1 réponse

  1. Utilisateur anonyme
     
    Bonsoir,
    J'utilise un petit systéme (une fonction a coller dans un module que j'appelle dans une macro via un executercode) qui me permet de créer une table dans access avec tous les fichiers excel présents dans un répertoire donné.
    En fait il "aspire" tant qu'il trouve un fichier excel dans un répertoire et de la même manière toutes les informations contenues dans un onglet (ou plusieurs) pour les "compiler" dans une seule table comme un ajout.
    Sur cette table j'ai des requêtes qui me permettent de traiter les informations ainsi obtenues. Et j'ai ajouté une purge (requete de suppression sur la table crée)pour ne pas recopier deux fois la même chose ainsi qu'un archivage des fichiers du sous réperoire (.cmd qui dit copier de x vers y tout ce qui est excel *.xls et efface ensuite)
    Bien sur adapte ce qui suit notamment à la plage d'info de ton formulaire. N'oublie pas qu'il est toujours possible dans une requéte ensuite de "filtrer " les info utiles..

    Public Function Chargement()

    ' Charger la référence Microsoft Scripting Runtime
    ' Charger Microsoft Excel x.x Object Library

    Dim oWbk As Workbook
    Dim MyFile As String
    Dim MyName As String
    Dim MyPath As String
    Dim i As Long, chemin As String
    Dim derligne As Long
    Dim mazone As String, sonnom As String

    MyFile = Dir("D:\ton_repertoire\sous_repertoire\*.xls", vbNormal)

    MyPath = "D:\ton_repertoire\sous_repertoire"

    Do While MyFile <> "" 'FAIT LA BOUCLE TANT QUE FICHIER PRESENT SUR LE REPERTOIRE MYpath : exemple ton_repertoire\sous_repertoire

    Set oWbk = Workbooks.Open(MyPath & "\" & MyFile) 'OUVRE LE FICHIER Myfile, SUPER ON COMMENCE A RIRE
    sonnom = ActiveWorkbook.Name

    ' Sélection de la feuille choisie ici : celle de ton forulaire par exemple, génial
    Workbooks(sonnom).Sheets("ton_formulaire").Select
    derligne = ActiveSheet.Range("A65534").End(xlUp).Row
    Workbooks(sonnom).Close savechanges:=False

    'ICI sélection de la zone à transférer (plage d'info du formulaie) debut par exemple en A2 jusqu'a la dernière ligne de la colonne dc
    mazone = "ton_formulaire!A2:dc" & derligne

    ' ici definition du nom de la table matableaccess qui reçoit la donnée de la feuille des fichiers du sous répertoire
    DoCmd.TransferSpreadsheet acImport, , "DG", MyPath & "\" & MyFile, False, mazone

    MyFile = Dir

    Loop 'FIN DE LA BOUCLE : QUELLE GROSSE MARADE, J'ADORE, ENCORE
    End Function
    0
    1. Utilisateur anonyme
       
      cd D:\ton_repertoire\sous_repertoire
      copy D:\ton_repertoire\sous_repertoire\*.xls D:\ton_repertoire_pour_archiver
      del D:\ton_repertoire\sous_repertoire\*.xls

      Ceci copier dans un fichier texte via notepad et ernregistré avec .cmd au lieu de .txt par exemple
      comme ceci archivage_formulaire.cmd

      Dans ta base access tu peux ajouter aprés l'exécution de la fonction l'execution de ce .cmd....archiver c'est nettoyer !
      0