bjr, je voudrai exporter 3 tables DB vers une feuille excel puis insérer une macro dans excel pour faire le cacul de la moyenne, je me perds
bjr, je voudrai exporter 3 tables DB vers une feuille excel puis insérer une macro dans excel pour faire le cacul de la moyenne, je me perds
salut
regardes ce code peut etre que ça t'aidera
dans ton cas (3 tables) vaut mieux créer une procédure qui aura le nom de la table comme paramètre, pour la macro aucune idé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 var vMSExcel,vXLWorkbooks, vXLWorkbook, vWorksheet : variant ; i,j:integer; begin // demarrer excel vMSExcel := CreateOleObject('Excel.Application'); vMSExcel.Visible := true; //creer un nouveau fichier xls vXLWorkbooks := vMSExcel.Workbooks; vXLWorkbook := vXLWorkbooks.Add; //acceder a une feuil vWorksheet := vXLWorkbook.WorkSheets['feuil1']; //ecrire les titres des champs for i:=0 to table1.FieldCount-1 do vworksheet.cells.item[1,i+1].value:=table1.Fields[i].FieldName; //ecrire les données table1.First; for j := 1 to table1.RecordCount do begin for i:=0 to table1.FieldCount-1 do begin vworksheet.cells.item[j+1,i+1].value:=table1.Fields[i].AsString; end; table1.Next; end; end;
bonne chance
bonjour sami, j'ai ajouté un bouton et on click, j'ai copié ton code mais là l'execution s'arrête en me disant qu'il faut déclarer la fonction CreateOleObject, je ne comprends pas puisqu'elle est prédéfinie
Tu as l'unité ComObj dans ton Uses ?
non je vais l'ajouter et je vais lancer l'execution pour voir
ça a fonctionné merci
La méthode dans ce cas là est quasiment toujours la même :
un coup de F1 sur le mot clé et dans l'aide apparait l'unité dont il dépend.
Partager