PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Insertion de lignes dans un fichier Excel à un endroit précis
Insertion de lignes dans un fichier Excel à un endroit précis
Iniciado por Frédéric BOITTIN, abr., 24 2024 11:18 AM - 11 respostas
Publicado em abril, 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
Membro registado
1.939 mensagems
Popularité : +53 (65 votes)
Publicado em abril, 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
Publicado em abril, 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
Membro registado
5 mensagems
Publicado em abril, 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)
Membro registado
194 mensagems
Popularité : +4 (8 votes)
Publicado em abril, 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
Membro registado
5 mensagems
Publicado em abril, 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
Membro registado
194 mensagems
Popularité : +4 (8 votes)
Publicado em abril, 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
Membro registado
194 mensagems
Popularité : +4 (8 votes)
Publicado em abril, 24 2024 - 3:51 PM
MaCellule= xl>>activeSheet>>Range("G8") au lieu de F4
Membro registado
5 mensagems
Publicado em abril, 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
Membro registado
1.939 mensagems
Popularité : +53 (65 votes)
Publicado em abril, 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
Publicado em abril, 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
Membro registado
194 mensagems
Popularité : +4 (8 votes)
Publicado em abril, 25 2024 - 12:10 PM
Bonjour
il faut retirer la ligne
xl>>rows("1:1")>>select()

Bon DEV