Formulaire excel fichier attaché+macro

Fermé
Jeremy - 22 oct. 2010 à 22:08
 Utilisateur anonyme - 22 oct. 2010 à 23:22
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!
A voir également:

1 réponse

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
Utilisateur anonyme
22 oct. 2010 à 23:22
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