Alimenter un fichier de suivi Excel
Résolu
edlyg
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
edlyg Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
edlyg Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonsoir
Je cherche à faire la chose suivante :
dans un classeur excel je crée des devis que je sauvegarde via des macros en excel d'une part, exemplaire entreprise, et en pdf, exemplaire client.
J'aimerais que certaines des données de l'exemplaire entreprise viennent alimenter un fichier qui répertorierait les données principales concernant le client et qu'à chaque devis créé corresponde une ligne.
J'espère que ma requête est claire
Merci d'avance pour votre aide
Je cherche à faire la chose suivante :
dans un classeur excel je crée des devis que je sauvegarde via des macros en excel d'une part, exemplaire entreprise, et en pdf, exemplaire client.
J'aimerais que certaines des données de l'exemplaire entreprise viennent alimenter un fichier qui répertorierait les données principales concernant le client et qu'à chaque devis créé corresponde une ligne.
J'espère que ma requête est claire
Merci d'avance pour votre aide
A voir également:
- Alimenter un fichier de suivi Excel
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Suivi des modifications word - Guide
- Fichier rar - Guide
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, ce que tu souhaites réaliser est clair.
cependant, tu n'expliques pas ce que tu attends comme assistance.
cependant, tu n'expliques pas ce que tu attends comme assistance.
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
voici un exemple de code VBA:
il ouvre un fichier (dont le nom est dans filename, en ligne 7), ajoute une ligne à la première feuille du fichier (avec la date et "bonjour", en lignes 11 et 12), puis sauve et ferme le fichier.
Sub edlyg() Dim wb As Workbook Dim ws As Worksheet Dim filename As String Dim nlig As Long filename = Environ("temp") & "/ccm/testedlyg.xlsx" Set wb = Workbooks.Open(filename) Set ws = wb.Worksheets(1) nlig = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1 ws.Cells(nlig, 1) = Now() ws.Cells(nlig, 2) = "bonjour" wb.Save wb.Close End Sub
il ouvre un fichier (dont le nom est dans filename, en ligne 7), ajoute une ligne à la première feuille du fichier (avec la date et "bonjour", en lignes 11 et 12), puis sauve et ferme le fichier.
voici l'exemple adapté:
le nom complet du fichier doit être dans la ligne 9, la ligne 10 ne doit pas changer.
autre exemple de ligne 9:
les lignes 15 à 19 copient les données à partir de la feuille active dans le fichier principal. tu peux changer la ligne 8 si tu veux prendre des données dans une autre feuille.
Sub edlyg() Dim wb As Workbook Dim ws As Worksheet Dim filename As String Dim nlig As Long Dim source As Worksheet Set source = ThisWorkbook.ActiveSheet filename = Environ("temp") & "/ccm/testedlyg.xlsx" Set wb = Workbooks.Open(filename) Set ws = wb.Worksheets(1) nlig = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1 'C3, C4, C7, C12 et C14 ws.Cells(nlig, 1) = Now() ws.Cells(nlig, 2) = source.[C3] ws.Cells(nlig, 3) = source.[C4] ws.Cells(nlig, 4) = source.[C7] ws.Cells(nlig, 5) = source.[C12] ws.Cells(nlig, 6) = source.[C14] wb.Save wb.Close End Sub
le nom complet du fichier doit être dans la ligne 9, la ligne 10 ne doit pas changer.
autre exemple de ligne 9:
filename="C:\data\temp/ccm/testedlyg.xlsx"
les lignes 15 à 19 copient les données à partir de la feuille active dans le fichier principal. tu peux changer la ligne 8 si tu veux prendre des données dans une autre feuille.
Je viens d'essayer et ai la ligne 10 surlignée en jaune
Sub edlyg()
Dim wb As Workbook
Dim ws As Worksheet
Dim filename As String
Dim nlig As Long
Dim source As Worksheet
Set source = ThisWorkbook.ActiveSheet
filename = Environ("temp") & "/ccm/testedlyg.xlsx"
Set wb = Workbooks.Open(filename)
Set ws = wb.Worksheets(1)
nlig = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1
'C3, C4, C7, C12 et C14
ws.Cells(nlig, 1) = Now()
ws.Cells(nlig, 2) = source.[C3]
ws.Cells(nlig, 3) = source.[C4]
ws.Cells(nlig, 4) = source.[C7]
ws.Cells(nlig, 5) = source.[C12]
ws.Cells(nlig, 6) = source.[C14]
wb.Save
wb.Close
End Sub
que j'ai mis en gras dans ma copie
Sub edlyg()
Dim wb As Workbook
Dim ws As Worksheet
Dim filename As String
Dim nlig As Long
Dim source As Worksheet
Set source = ThisWorkbook.ActiveSheet
filename = Environ("temp") & "/ccm/testedlyg.xlsx"
Set wb = Workbooks.Open(filename)
Set ws = wb.Worksheets(1)
nlig = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1
'C3, C4, C7, C12 et C14
ws.Cells(nlig, 1) = Now()
ws.Cells(nlig, 2) = source.[C3]
ws.Cells(nlig, 3) = source.[C4]
ws.Cells(nlig, 4) = source.[C7]
ws.Cells(nlig, 5) = source.[C12]
ws.Cells(nlig, 6) = source.[C14]
wb.Save
wb.Close
End Sub
que j'ai mis en gras dans ma copie
En fait je cherche une macro ou un code vba qui me permette de faire la manip et je n'ai pas trouvé sur les forums mais peut être parce que je formule mal ma requête