ATTAQUER EXCEL AVEC DELPHI

aymenk Messages postés 77 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 29 octobre 2018 - 18 juin 2005 à 12:38
cs_mbenny Messages postés 2 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 10 janvier 2010 - 10 janv. 2010 à 10:01
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32150-attaquer-excel-avec-delphi

cs_mbenny Messages postés 2 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 10 janvier 2010
10 janv. 2010 à 10:01
Salut Aymenk
Merci pour Votre interet, mais juste j'ai trouver votre exemple riche en application Excel, chose qui m'a pouusser de vous demander de l'aide juste pour m'orienter ou je puisse trouver un help ou des exemple plus riche des fontion , precudure et des objet concernant les application excel (TexcelApplication), Merci et je serais tres heureux de recevoir quelque chose de votre part.
Salutations
aymenk Messages postés 77 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 29 octobre 2018
6 janv. 2010 à 19:32
Salut mbenny merci du message mais depuis le temps je n(utilise presque pas Delphi...j'ai d'autre chat a fouetter ...
Si je trouve qlq chose je vous le communiquera ...
A +...
cs_mbenny Messages postés 2 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 10 janvier 2010
6 janv. 2010 à 14:48
Bonjour

J'ai essaye votre programme et ca bien marché.
Je suis entrain de devollope un programme qui utilse excel sous delphi 6 mais je ne trouve pas le help des fonctions et des objets de TExcel.Application et ca me ralenti un peu pour cela si vous pouvez m'aider de me fournir une nemenclature de tous fonctions et leurs explication
Merci
Migueldasilva Messages postés 1 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 9 octobre 2008
9 oct. 2008 à 16:08
bonjour,
le code parait bien mais c'est quasiment illisible. Le code n'est pas indenté ou mal, ça ne compile pas sous D7, j'ai testé les manip pour le faire marcher sous cette version, ça compile mais sa plante Excel au lancement...
On ne peut distinguer les commentaires utiles des lignes de code mis en commentaire.
yvessimon Messages postés 637 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 9 janvier 2017
1 juil. 2008 à 09:03
Bonjour,
Soit tu installes windows 2000 sur ton pc
soit tu utilises un autre pc qui a windows 2000

Salutations
FeuerFrei118 Messages postés 28 Date d'inscription mardi 17 juin 2008 Statut Membre Dernière intervention 14 juillet 2008
1 juil. 2008 à 08:57
Regarder avec win2000? Cet à dire?

Merci
yvessimon Messages postés 637 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 9 janvier 2017
1 juil. 2008 à 08:39
Bonjour,

Regarde avec windows 2000, cela fonctionne très bien

Salutations
FeuerFrei118 Messages postés 28 Date d'inscription mardi 17 juin 2008 Statut Membre Dernière intervention 14 juillet 2008
30 juin 2008 à 19:42
Bonjour! j'ai essayé votre code qui apres la compilation (en execution) fait des erreurs de violation. Pourriez-vous m'aidé?

J'utilise Excel 2007, windows vista et delphi7

Merci d'avance!
guykoumba Messages postés 1 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 5 février 2008
5 févr. 2008 à 15:44
Salut à tous.Le code est très interressant et ca marche chez moi.Mais j'essai d'utiliser la fonction AutoFilter pour filtrer une plage mais ja n'y arrive pas.Quelqu'un pourrait-il m'aider?
ville007 Messages postés 16 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 29 septembre 2020
22 mai 2007 à 20:46
c'est bien fais
moi je cherche comment faire la sauvgarde de dbgrid comment un fichier XLS (excel).
drezmir Messages postés 2 Date d'inscription lundi 14 novembre 2005 Statut Membre Dernière intervention 31 mars 2008
18 déc. 2006 à 10:00
Bonjour (Excuse-moi pour ma francaise)

J'ai une question:
Pour visualiser les Gridlines en Excel il doive ecrire
// Show/ Hide Gridlines:
ExcelApp.ActiveWindow.DisplayGridlines := False; // ou True.

Ma question.
Si je ne veut pas visualier le Zero values.. je doive ecrire ?
ExcelApp.ActiveWindow.??????:=False;

Merci
cs_sterkasor Messages postés 53 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 11 juin 2007
24 juil. 2006 à 08:50
Est-ce-qu ce code peut aussi trier des doublons ?
yvessimon Messages postés 637 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 9 janvier 2017
15 mai 2006 à 08:48
Bonjour,

Delphi 2 avec windows 95 ? alors bon courage ! .

Passe à une version résente. Ce sera plus facile.

sur mon poste les fichiers sont sur
C:\Program Files\Borland\Delphi7\Ocx\Servers
C:\Program Files\Borland\Delphi7\Imports
as tu fait une recherche complette sur les repertoires ?


Salutations
aymenk Messages postés 77 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 29 octobre 2018
12 mai 2006 à 19:49
Salut,Mouniriz,
les units excel2000 /97 ce trouve dans les source de delphi 5...
meme si tu as ces source et tu n'utilise pas delphi 5 ça ne va pas marcher..
Mouniriz Messages postés 7 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 12 mai 2006
12 mai 2006 à 10:38
Salut tt le monde !
Les tuto ont l'air cool mais je pe pas les utiliser. Je pe pas faire de graphes sur excel parceke il me manke les uses excel2000 ou 97.pas et *.dcu.
Je cri "a l'aide" et je vous demande si kelkun peu me les envoyer a mounirdrd@aol.com.
Merci
FENETRES Messages postés 196 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 14 avril 2009
11 avril 2006 à 15:13
Félicitations... vous avez du mérite ! Personnellement, il y a longtemps que j'en suis revenu au bon vieux composant TOleContainer. Ni le temps, ni la patience !
cs_groben Messages postés 11 Date d'inscription lundi 20 novembre 2000 Statut Membre Dernière intervention 22 novembre 2005
14 nov. 2005 à 11:54
Bonjour,
Je bosse avec une très vielle version de Delphi : delphi2.0 & je dois piloter Excel, Je peux le lancer faire quelques bidouilles, mais je n'ai ni Variant.pas, ni CimObj.pas, ni Excel200.pas...
1) comment savoir quelles fonctions je peux utiliser
2) est il possible de récupérer les fichiers *.pas et les DLL coorrrespondants ?
Merci de m'éclairer, bonne prog
BEN
ramadol Messages postés 2 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 26 octobre 2005
3 nov. 2005 à 15:19
Bonjour les amis;
j'ai très respectueusement l'honneur de vous demander de me communiquer le programme relatif à la conversion dez chiffres en letres en Excell, avec des décimaux!
Mes remerciements
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
29 juin 2005 à 09:23
bonjour
en D7 value est remplacé par value2 et value demande d'autre param [olevariant]

ces commandes sont dans ExcelXP.pas

Button22Click donne un ex. de graphe
tu peu aussi aller voir
http://delphi.developpez.com/faq/?page=excelgraphs#excelgraphtravail
yvessimon Messages postés 637 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 9 janvier 2017
28 juin 2005 à 08:51
Bonjour,

Toutes mes excuses c'est dans le message du 21/06/2005.

Mais alors pour quoi " .value2 " ?

autre questions :

ou trouver toutes ces commandes ?

As-tu des exemples de graphes excel via delphi ?

Salutations
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
27 juin 2005 à 19:42
bonjour
remplace value par value2
ligne : MaFeuille.Range['B1','E3'].Value := 'Hello ..etc
devient MaFeuille.Range['B1','E3'].Value2 := 'Hello ..etc

procedure TForm1.Button23Click(Sender: TObject);
var
MonClasseur : _workbook;
MaFeuille : _worksheet;
begin
ExcelApplication1.SheetsInNewWorkbook[0]:=1;
MonClasseur:=ExcelApplication1.Workbooks.Add(EmptyParam,0);
MaFeuille:=MonClasseur.Worksheets[1] as _worksheet;
MaFeuille.Range['B1','E3'].Value2 :='Hello World Cellule Ajuster par largeur ...etc' ;
ExcelApplication1.Visible[0]:=true;
with MaFeuille.Range['A1','E3'] do
begin
yvessimon Messages postés 637 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 9 janvier 2017
27 juin 2005 à 16:25
Bonjour,

J'utilise DELPHI7 WINDOWS 2000 ET EXCEL 2002.

J'ai les mêmes PB.
DANS: procedure TForm1.Button23Click(Sender: TObject);

ligne : MaFeuille.Range['B1','E3'].Value := 'Hello World Cellule Ajuster par largeur ...etc' ;

Il y a : [Erreur] Unit1.pas(392): '[' attendu(e) mais ':=' trouvé(e)

Quelle version des 3 logiciels utiliser ?

As-tu des exemple des graphique ?..


Salutations
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
21 juin 2005 à 09:33
j'ai la même config que toi et je t'assure que ça marche.
tu drevrais tout reprendre a zéro en replaçant l'unit1 télécharger
et faire les modifs
parceque la ligne 390 est
MaFeuille.Range['B5','C12'].Select;
et non MaFeuille.Range['B1','E3'].Value

le seul MaFeuille.Range['B1','E3'].Value2 :='Hello World ...
est à la ligne 325.
rééssais c'est une bonne unit.
mais n'oublit pas avant compil et aprés les modifs de supprimer le .dcu fourni dans le zip qui est un D5, ou bien fait menu construire projet1.
si tu ne supprime pas le DCU c'est lui qui est prit en pemier
et génére des erreurs (ce qui m'est arrivé) :)
aprés ça marche trés bien.
sidena Messages postés 8 Date d'inscription jeudi 3 juin 2004 Statut Membre Dernière intervention 19 février 2006
20 juin 2005 à 14:12
Ca coinçait toujours à la ligne 390 sur l'expression :
"MaFeuille.Range['B1','E3'].Value"
avec le message :
[Erreur] Unit1.pas(390): '[' attendu(e) mais ':=' trouvé(e)
Jusqu'à cette ligne tout se compilait bien...
Je lui ai donc donné un argument [=1] puisqu'il y tenait absolument, et tout s'en enfin compilé.

J'ai eu le message "Excel en mémoire" après avoir cliqué sur "Lancer Excel", mais immédiatement suivi d'un plantage en exception du debugger : " le serveur a généré une exception - oleexception... etc" suivi après 2 ou 3 essais infructueux par un plantage général de Delphi - sortie par ctrl-alt-del. Tout ca sans avoir cliqué sur le bouton 23, seul point que j'avais bricolé.

Par ailleurs, je lance Excel dans des programmes que j'ai écrit, mais de façon beaucoup plus rudimentaire (juste ouverture + charger une feuille). Donc ce ne doit pas etre mon système qui est en cause, mais il semble que ce prog n'est pas adapté à Delphi7 + XP edition familiale...

Merci quand même !
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
20 juin 2005 à 12:30
oups erreur de ma part dans l'explication
il faut bien laisser les
MaFeuille.Range['B1','E3'].Value
Mais il faut changer toutes le variables de Type Range en ExcelRange désolé :(
Exemple
procedure TForm1.Button21Click(Sender: TObject);
var
MonClasseur : _workbook;
MaFeuille : _worksheet;
rMaPlage : ExcelRange;//Range;
begin
If ExcelApplication1.Workbooks.Count>=1 Then //xlWBATExcel4MacroSheet : Feuille macro Excel 4
MonClasseur:=ExcelApplication1.Workbooks[1];
MaFeuille:=MonClasseur.Worksheets[1] as _worksheet;
rMaPlage:=MaFeuille.UsedRange[0];
//Attention : la plage définie par UsedRange est remise à jour par Excel
//après des insertions ou suppression lors du prochain appel de UsedRange.
//Par exemple l'adresse montrée ici n'est pas correcte :
MaFeuille.Range['A2','A4'].EntireRow.Delete(xlUp);
.........................
je pense ne rien avoir oublié
sidena Messages postés 8 Date d'inscription jeudi 3 juin 2004 Statut Membre Dernière intervention 19 février 2006
20 juin 2005 à 12:18
Si je fais cela, j'ai :
[Erreur] Unit1.pas(317): Identificateur non déclaré : 'Excelrange'
la ligne 317 étant devenue :
MaFeuille.Excelrange['A2','A4'].EntireRow.Delete(xlUp);
...?
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
20 juin 2005 à 11:18
correctif
y compris MaFeuille.Range['B1','E3'].Value et tous les autres range
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
20 juin 2005 à 11:17
si si
change tous les Range en ExcelRange
y compris MaFeuille.Range['B1','E3'].Value et tos le saures range
MaFeuille.ExcelRange['B1','E3'].Value
sidena Messages postés 8 Date d'inscription jeudi 3 juin 2004 Statut Membre Dernière intervention 19 février 2006
20 juin 2005 à 10:49
Merci, mais ça ne marche pas encore.
Ok pour Variants, ok pour les open, mais après avoir changé Range en Excelrange ligne 308, j'ai :
[Erreur] Unit1.pas(390): '[' attendu(e) mais ':=' trouvé(e)
le ligne 390 étant :
MaFeuille.Range['B1','E3'].Value:='Hello World Cellule Ajuster par largeur ...etc' ;
??!!
aymenk Messages postés 77 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 29 octobre 2018
20 juin 2005 à 10:49
Salut papyvore,
Merçi de ton aide, j'utilise Delphi5 donc je ne peut savoir; pourmoi ça mrche.
REM:à NIX
pouqoui ne pas ajouter une case è cocher pour préciser sur quel version le source a été développé. Merçi a tous le monde
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
20 juin 2005 à 09:37
pour SIDENA
(****************************************
Modif pour fonctionnement avec D7
- ajouer l'unité Variants
- change tous les Range en ExcelRange
- ajouter 2 params EmptyParam a tous les Open(fichierXLS....
Open(fichierXLS,False,False,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,0);
devient
Open(fichierXLS,False,False,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,0);
a priori ça marche sur D7 avec ces modifs
*****************************************)
sidena Messages postés 8 Date d'inscription jeudi 3 juin 2004 Statut Membre Dernière intervention 19 février 2006
20 juin 2005 à 09:23
A la compilation, j'ai :
[Erreur] Unit1.pas(88): Identificateur non déclaré : 'emptyparam'...
Dommange, ca avait l'air intéressant !

Sidea
aymenk Messages postés 77 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 29 octobre 2018
19 juin 2005 à 09:57
Merci Delphiprog.Mais si on vois tous les exemples y'en beaucoup qui dépasser même Delphi5 ,comme celui qui dessine un calendrier sur le Wallpapaer du bureau,si je te dis que je me vois VIEUX on utilisant D5 !!!???...
Merçi quand même ..puisque nous y somme donne moi votre avis sur l'exemple de cryptage
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
18 juin 2005 à 15:39
Ben, déjà la remarque que l'on fait régulièrement aux débutants : nommer les composants utilisés dans le code. Ca facilite grandement la lecture du code sans avoir à charger le projet dans l'EDI pour savoir à quoi correspond tel ou tel bouton.

Il aurait fallu préciser que cette application est basée sur la série de composants livrée avec certaines versions et un certain niveau de Delphi. Le composant TExcelApplication est disponible depuis Delphi5 ou 6. Tout le monde ne pourra donc pas exploiter ce code source.
aymenk Messages postés 77 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 29 octobre 2018
18 juin 2005 à 12:38
Tous commentaires est le bienvenus...
Faites moi savoir si vous faites des Modifications sur ce code
Rejoignez-nous