PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Insertion de lignes dans un fichier Excel à un endroit précis
Insertion de lignes dans un fichier Excel à un endroit précis
Started by Frédéric BOITTIN, Apr., 24 2024 11:18 AM - 11 replies
Posted on April, 24 2024 - 11:18 AM
Bonjour,

j'ai trouvé quelques codes OLE

mais cela ne fonctionne pas vraiment
il met A8 dans toutes les cellules

// on définit des variables Objet Automation dynamique pour lisibilité du code
MaCellule est un objet Automation dynamique
xl>>Visible=Vrai // Excel apparait à l'écran
xl>>WorkBooks>>Open("D:\Dossier RIBIMEX\test1.xls") // on ouvre le classeur
// on sélectionne sa cellule
MaCellule = xl>>activeSheet>>Range("A8")
xl>>rows(A8)>>Select()
xl>>rows("1:1")>>Select()
xl>>selection>>insert()

pouvez m'indiquer l'erreur sur ce code

Frédéric
Registered member
1,939 messages
Popularité : +53 (65 votes)
Posted on April, 24 2024 - 11:58 AM
Bonjour,

Pourquoi ne pas utiliser les fonctions natives Excel de WinDev ?
https://doc.pcsoft.fr/fr-FR/?3080020

--
Bon dev,
Jean-Pierre
Posted on April, 24 2024 - 2:46 PM
Bonjour,

merci de la réponse mais il n'y a pas de commande fonctions natives Excel pour Windev d'insertion de lignes dans Excel,
je cherche aussi pour inserer une image dans une cellule de Excel avec Windev

Merci

Frédéric
Registered member
5 messages
Posted on April, 24 2024 - 2:51 PM
Bonjour

Merci de l'info, mais il n'y a pas de fonctions natives Excel de Windev pour inserer une ligne dans Excel , je cherche aussi pour inserer une image dans Excel à partir de Windev

ca ne fonctionne pas , j'ai erreur sur

MaCellule = xl>>activeSheet>>Range("G8")

et je vois pas pourquoi


// Traitement de l'enregistrement image article
// on sélectionne sa cellule
xl est un objet OLE dynamique
xl = allouer un objet OLE "Excel.Application"
MaCellule est un objet Automation dynamique
MaCellule = xl>>activeSheet>>Range("G8")
// on insère une image
// expression .AddPicture(Filename, LinkToFile, SaveWithDocument, Left, Top, Width, Height)
xl>>ActiveSheet>>Shapes>>AddPicture( "D:\Dossier RIBIMEX\TIREFORT2T.png", False, True, ...
MaCellule>>Left,MaCellule>>Top,MaCellule>>Width,MaCellule>>Height)
Registered member
194 messages
Popularité : +4 (8 votes)
Posted on April, 24 2024 - 3:01 PM
Bonjour
Essaye cela
xl est un objet OLE "Excel.Application"
xl>>Visible=OLEVrai
xl>>workbooks>>open(tonfichier.xlsx")
xl>>sheets("Feuil1")>>select(OLEVrai)
xl>>range("A8")>>select()
xl>>rows("1:1")>>select()
xl>>selection>>insert()
xl>>activeworkbook>>save()
xl>>activeworkbook>>close(OLEFaux)
xl>>Quit()

Bon DEV
Registered member
5 messages
Posted on April, 24 2024 - 3:10 PM
Bonjour,

Cool , ca à l'air OK
Merci beaucoup

aurais tu l'info pour insérer une image dans une cellule

Merci beaucoup

Frédéric
Registered member
194 messages
Popularité : +4 (8 votes)
Posted on April, 24 2024 - 3:49 PM
MaCellule est un objet Automation dynamique
xl>>Range("G8")>>Select()
xl>>Selection
xl>>Selection>>Rows>>RowHeight = 89
xl>>Selection>>Columns>>ColumnWidth = 25.00
xl>>Selection>>VerticalAlignment = -4108
xl>>Selection>>Columns>>AutoFit()
MaCellule= xl>>activeSheet>>Range("F4")
monimage est une chaîne="D:\Dossier RIBIMEX\TIREFORT2T.png"
MaChaîne1 est une chaîne
MaChaîne1 = "%1"
MonRésultat est une chaîne = ChaîneConstruit(MaChaîne1, monimage)
xl>>ActiveSheet>>Shapes>>AddPicture(MonRésultat, False, True, ...
MaCellule>>Left+8,MaCellule>>Top+4,MaCellule>>Width,MaCellule>>Height)

Bon DEV
Registered member
194 messages
Popularité : +4 (8 votes)
Posted on April, 24 2024 - 3:51 PM
MaCellule= xl>>activeSheet>>Range("G8") au lieu de F4
Registered member
5 messages
Posted on April, 24 2024 - 4:03 PM
Bonjour,

Merci beaucoup c'est top
il me reste plus qu'à utiliser ces codes dans mon appli

Merci encore

Frédéric
Registered member
1,939 messages
Popularité : +53 (65 votes)
Posted on April, 24 2024 - 5:59 PM
PS : j'ai "assimilé" à tort les fonctions Tableur aux fonctions Excel, désolé pour la méprise.
D'autant que je patauge toujours aussi dans l'interprétation du VBA Word dans WinDev ;( :D

--
Bon dev,
Jean-Pierre
Posted on April, 25 2024 - 10:40 AM
Bonjour,

j'ai été un peu trop vite

lors de l'insert il insère une ligne en haut du document en A1
pourtant on a mis A8 avant, mais il insère en première ligne

Merci des infos

Frédéric
Registered member
194 messages
Popularité : +4 (8 votes)
Posted on April, 25 2024 - 12:10 PM
Bonjour
il faut retirer la ligne
xl>>rows("1:1")>>select()

Bon DEV