Bonjour à tous,
Voilà dans le cadre de mon travail je dois faire exporter des donnés situé dans un formulaire "LOT" vers des feuilles Excel mais avec condition . c'est à dire chaque fournisseur a un model de facture.
voici un EXEMPLE
GESTION.rar
Bonjour à tous,
Voilà dans le cadre de mon travail je dois faire exporter des donnés situé dans un formulaire "LOT" vers des feuilles Excel mais avec condition . c'est à dire chaque fournisseur a un model de facture.
voici un EXEMPLE
GESTION.rar
Salut
Une piste parmi tant d'autre
Je pars d'une idée
L11 : classeur contenant dans une feuille les contours d'une facture.
L14 : j'ouvre le jeu d'enregistrement correspondant au jeu en cours dans le form
L17/20 : j'ouvre le classeur (L11) et je me positionne sur la feuille qui contient les contours de la facture
L22/27 : je fais correspondre aux cellules désignées, les valeurs des contrôles de mon form.
L29 : je donne un nouveau nom à mon classeur d'origine
L30 : je sauvegarde ce nouveau classeur
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 Private Sub btnExportXl_Click() On Error GoTo ErrorHandler Dim dbs As DAO.Database, rst As DAO.Recordset Dim strSql As String Dim xlApp As Excel.Application, xlwbk As Excel.workbook, xlwbs As Excel.Worksheet Dim strFilePath As String, strBackslash As String, FileName As String, FileSave As String strFilePath = CurrentProject.Path strBackslash = "\" FileName = strFilePath & strBackslash & "modele.xls" Set dbs = CurrentDb strSql = "SELECT * FROM tblClient WHERE id_cli = " & Me.id_cli Set rst = dbs.OpenRecordset(strSql) Set xlApp = CreateObject("Excel.Application") Set xlwbk = xlApp.Workbooks.Open(FileName) Set xlwbs = xlwbk.Worksheets("Modele") xlApp.Visible = True With xlwbk.ActiveSheet .Range("A1").Value = Me!id_cli .Range("B1").Value = Me!nom_cli .Range("C1").Value = Me!ads_cli ' etc End With FileSave = strFilePath & strBackslash & Me!id_cli & ".xls" xlwbk.SaveAs FileSave rst.Close xlwbk.Close xlApp.Quit Set xlwbs = Nothing Set xlwbk = Nothing Set xlApp = Nothing Set rst = Nothing Set dbs = Nothing ExitHandler: Exit Sub ErrorHandler: MsgBox "Oups ! Une erreur a été rencontrée :" & vbCrLf & "Error " & Err.Number & ": " & Err.Description Resume ExitHandler End Sub
Bonjour, merci pour votre réponse mais j'ai déjà des modèles EXCEL (des factures) , je veux exporter des données vers des feuilles Excel mais avec condition, c'est à dire
si Texte24.Value = "Fournisseur1" je dois exporter les données vers la facture 11 si non vers la facture 12.
Et depuis le 1er post?
Le Roy a dit : Nous voulons.
J'espère que votre bdd ne se limitera pas à seulement 2 fournisseurs.
Alors :
- Pour dupliquer (ou copier) un classeur, je vous avez ce lien. Assez simple à mettre en oeuvre. Et vous pouvez même conditionner le "copier/coller" selon le fournisseur.
- Si votre classeur possède une feuille de calculs dans laquelle vous avez "modélisé" une facture, vous pourrez dupliquer cette feuille. La méthode est ici.
- Pour copier les données d'un formulaire ou d'une source (tbl/qry) un début de piste dans ma première réponse.
bonjour, non ma BDD ne se limite pas à 2 fournisseurs c'étais juste un exemple en réalité j'ai 36 fournisseurs internationales et chaque fournisseurs a une facture prédéfinie et avec d'autres langue (français ,anglais,allemand, italien) et je dois exporter les données vers ces factures excel prédéfinies.c'est à dire chaque fournisseur a un model de facture.
ex:si Texte24.Value = "Fournisseur1" je dois exporter les données vers la facture11
bonjour,
pourquoi ne pas stocker le nom du classeur dans la table des fournisseurs ?
Pas plus simple d'utiliser le MkDir() ?
D'autres question
- tous ces classeurs sont-ils ou non sauvegardés dans le répertoire de la bdd ?
- chaque facture éditée (données du form) est-elle ajoutée ou non sous forme d'onglet dans un classeur respectif ?
- faut-il ou non créer un classeur à chaque nouvelle année ?
- selon la législation en vigueur faut-il ou non conserver les classeurs ?
- etc.
ne s'agit-il pas de modèles de factures à utiliser pour chaque fournisseur ou me trompe-je, Donald ?Pas plus simple d'utiliser le MkDir() ?
[EDIT] hyperion, je viens de comprendre ton questionnement, je rectifie donc ma réponse:
ne vaut-il pas mieux stocker le nom du modèle de facture associé au fournisseur dans la table des fournisseurs ?
Allez, sans chercher midi à quatorze heure
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 Private Sub Commande31_Click() Dim oExcel As Object, oBook As Object, oSheet As Object Set oExcel = CreateObject("Excel.Application") Set oBook = oExcel.Workbooks.Open("C:\" & Me.Texte24.Value & ".xlsx") Set oSheet = oBook.Worksheets("01") oExcel.Visible = True oSheet.Range("B12:B17").ClearContents With oSheet.ActiveSheet .Range("B12").Value = Me.Texte28 ' etc End With oExcel.Visible = False oExcel.ActiveWorkbook.Close Savechanges:=True oExcel.Quit Set oSheet = Nothing Set oBook = Nothing Set oExcel = Nothing End Sub
Partager