DenisHen Posté(e) le 7 mars Posté(e) le 7 mars Bonjour à la communauté. Aujourd'hui, je fais plusieurs taches consécutives dans un classeur Excel. Je lis le contenu d'une feuille, puis écris dans cette même feuille les attributs de centaines de blocs. J'ai réussi à tout faire, sauf l'écriture dans le feuille. J'aimerais éviter des lisp externes qui vont ouvrir et fermer plusieurs fois le classeur, ce qui serait plus long je pense. J'ai regardé les lisp de @(gile) (WriteExcel et ReadExcel) pour m'en inspirer (et où j'ai piqué "Number2Alpha"), mais comme d'habitude, ils sont trop bien fait pour moi. Donc, voici comment je lis la feuille : ;;; ************************************************** ;;; Lecture des données du fichier Excel (setq fichier (findfile FichXls)) (setq xls (vlax-get-or-create-object "Excel.Application")) (setq classeur (vlax-invoke (vlax-get xls 'Workbooks) 'open FichXls)) (setq feuille (vlax-get-property (vlax-get classeur 'Sheets) 'Item "AutoCAD")) Puis : (while (/= (setq ValCellule (vlax-get (vlax-get-property feuille 'Range (strcat (Number2Alpha Col) "1")) 'Value)) nil) ........ (setq Col (+ 5 Col)) ) ;_ Fin de while Je cherche donc, si toutes fois cela existe, une méthode similaire pour écrire dans cette feuille, puis enregistrer le classeur. J'avais fais quelques tentatives avec ce genre de syntaxe, mais je n'ai rien trouvé de probant sur le net : (vlax-put (vlax-put-property feuille 'Range (strcat (Number2Alpha ColXls) (rtos LignXls 2 0))) 'Value2(rtos SurfHab 2 2)) J'ai aussi tenté d'utiliser "WriteExcel", mais je n'ai pas compris l'utilisation de la variable "dataList". Mon but étant d'ouvrir un classeur, lire une feuille précise (nommée "AutoCAD"), organiser mes attributs selon l'organisation de la feuille, écrire les attributs dans la feuille, enregistrer le classeur et le fermer. Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 7 mars Posté(e) le 7 mars il y a 48 minutes, DenisHen a dit : (rtos LignXls 2 0) Quel est le type de LignXls ? Pourquoi rtos ? Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 7 mars Auteur Posté(e) le 7 mars LignXLS est un integer, mon compteur de ligne. Je n'ai pas besoin du (rtos ? Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
(gile) Posté(e) le 7 mars Posté(e) le 7 mars itoa Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
DenisHen Posté(e) le 7 mars Auteur Posté(e) le 7 mars Ok, je viens de comprendre la différence entre itoa et rtos, que je n'avais pas vu avant... Merci... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant