PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Feuille excel
Feuille excel
Débuté par info, 23 juil. 2004 15:17 - 3 réponses
Posté le 23 juillet 2004 - 15:17
Bonjour,

Je voudrais depuis mon appli, ouvre une feuille excel existante avec des
classeurs et bourrée de formules diverses et de liens entre classeurs et
ensute importer dans cette feuille des données provenant de mes fichiers
hyper file et ce, dans les classeurs spécifiques.
Est-ce possible ? En 5.5, 7.5 ou 8 ? Merci pour votre aide.

Michel
Posté le 23 juillet 2004 - 16:42
Bonjour,
je sais que sous la version 8 c possible.
tu peux utiliser tableversexcel ou alors créé un ole:
MaFeuilleXLS est un objet Automation dynamique

// Instance de Excel existante ?
SI ObjetActif("Excel.Application") <> Null ALORS
// Récupération de l'instance de Excel existante
MaFeuilleXLS = ObjetActif("Excel.Application")
SINON
// Allocation de l'objet automation "MaFeuilleXLS"
MaFeuilleXLS = allouer un objet Automation "Excel.Application"
FIN

// Excel devient visible
MaFeuilleXLS>>Visible = Vrai
// Ouverture d'un classeur d'Excel
MaFeuilleXLS>>Workbooks>>Add()
....
// Code du bouton "FermeExcel"
// Fermeture du classeur Excel
MaFeuilleXLS>>ActiveWorkBook>>Close(True)
//si false et le fichier n'a pas de non, excel est fermé et rien n'est enregistré.
// Fermeture de Excel
MaFeuilleXLS>>Quit()
libérer MaFeuilleXLS


Voici qq codes pour modifier, la feuille excel:
//donner une valeur à une cellule:
MaFeuilleXLS>>Range("A2")>>Value ="coucou"
//qq mise en page:
MaFeuilleXLS>>Range("A2")>>Font>>Bold=True
MaFeuilleXLS>>Range("A2")>>Font>>Italic=True
MaFeuilleXLS>>Range("A2")>>Font>>Color=RGB(255, 0, 0)
MaFeuilleXLS>>Range("A2")>>Font>>Size
MaFeuilleXLS>>Range("A2")>>Font>>Name="Comic Sans MS"
MaFeuilleXLS>>Range("A5:L5")>>HorizontalAlignment =-4108 //centré, -4131
gauche, -4152 droite
//pour affecter une formule:
MaFeuilleXLS>>Range("G2")>>Formula = "=produit(D"+i+";F"+i+")"
//pour le format:
MaFeuilleXLS>>Range("F"+j+":F"+i)>>NumberFormat = "0,00"
//pour la largeur des colonnes:
MaFeuilleXLS>>Columns("L")>>ColumnWidth = 9
//définition des marges
MaFeuilleXLS>>Sheets("Feuil1")>>PageSetup>>LeftMargin = 0.5



"Michel" <info@edisoft.be> wrote:


Bonjour,

Je voudrais depuis mon appli, ouvre une feuille excel existante avec des
classeurs et bourrée de formules diverses et de liens entre classeurs et
ensute importer dans cette feuille des données provenant de mes fichiers
hyper file et ce, dans les classeurs spécifiques.
Est-ce possible ? En 5.5, 7.5 ou 8 ? Merci pour votre aide.

Michel
Posté le 23 juillet 2004 - 17:34
Merci Anne, cela je connaissais, mais comment accéder à un classeur particulier
?

Merci pour ton aide

Michel

"Anne" <atcamus@mordacq.com> wrote:


Bonjour,
je sais que sous la version 8 c possible.
tu peux utiliser tableversexcel ou alors créé un ole:
MaFeuilleXLS est un objet Automation dynamique

// Instance de Excel existante ?
SI ObjetActif("Excel.Application") <> Null ALORS
// Récupération de l'instance de Excel existante
MaFeuilleXLS = ObjetActif("Excel.Application")
SINON
// Allocation de l'objet automation "MaFeuilleXLS"
MaFeuilleXLS = allouer un objet Automation "Excel.Application"
FIN

// Excel devient visible
MaFeuilleXLS>>Visible = Vrai
// Ouverture d'un classeur d'Excel
MaFeuilleXLS>>Workbooks>>Add()
...
// Code du bouton "FermeExcel"
// Fermeture du classeur Excel
MaFeuilleXLS>>ActiveWorkBook>>Close(True)
//si false et le fichier n'a pas de non, excel est fermé et rien n'est enregistré.
// Fermeture de Excel
MaFeuilleXLS>>Quit()
libérer MaFeuilleXLS


Voici qq codes pour modifier, la feuille excel:
//donner une valeur à une cellule:
MaFeuilleXLS>>Range("A2")>>Value ="coucou"
//qq mise en page:
MaFeuilleXLS>>Range("A2")>>Font>>Bold=True
MaFeuilleXLS>>Range("A2")>>Font>>Italic=True
MaFeuilleXLS>>Range("A2")>>Font>>Color=RGB(255, 0, 0)
MaFeuilleXLS>>Range("A2")>>Font>>Size
MaFeuilleXLS>>Range("A2")>>Font>>Name="Comic Sans MS"
MaFeuilleXLS>>Range("A5:L5")>>HorizontalAlignment =-4108 //centré, -4131
gauche, -4152 droite
//pour affecter une formule:
//pour le format:
MaFeuilleXLS>>Range("F"+j+":F"+i)>>NumberFormat = "0,00"
//pour la largeur des colonnes:
MaFeuilleXLS>>Columns("L")>>ColumnWidth = 9
//définition des marges
MaFeuilleXLS>>Sheets("Feuil1")>>PageSetup>>LeftMargin = 0.5



"Michel" <info@edisoft.be> wrote:


Bonjour,

Je voudrais depuis mon appli, ouvre une feuille excel existante avec des
classeurs et bourrée de formules diverses et de liens entre classeurs et
ensute importer dans cette feuille des données provenant de mes fichiers
hyper file et ce, dans les classeurs spécifiques.
Est-ce possible ? En 5.5, 7.5 ou 8 ? Merci pour votre aide.

Michel

Posté le 23 juillet 2004 - 18:47
//ouverture du classeur
LanceAppliAssociée("c:\Classeur1.xls")
// Création de deux objets automation dynamiques
MaFeuilleXLS est un objet Automation dynamique

// Instance de Excel existante ?
SI ObjetActif("Excel.Application") <> Null ALORS
// Récupération de l'instance de Excel existante
MaFeuilleXLS = ObjetActif("Excel.Application")
SINON
// Allocation de l'objet automation "MaFeuilleXLS"
MaFeuilleXLS = allouer un objet Automation "Excel.Application"
FIN

// Excel devient visible
MaFeuilleXLS>>Visible = Vrai
// Activer le classeur
MaFeuilleXLS>>Workbooks("Classeur1.xls")>>Activate

//sélection d'une feuille
MaFeuilleXLS>>Workbooks("Classeur1.xls")>>Worksheets("Feuil2")>>Activate


"Michel" <info@edisoft.be> wrote:



Merci Anne, cela je connaissais, mais comment accéder à un classeur particulier
?

Merci pour ton aide

Michel

"Anne" <atcamus@mordacq.com> wrote:


Bonjour,
je sais que sous la version 8 c possible.
tu peux utiliser tableversexcel ou alors créé un ole:
MaFeuilleXLS est un objet Automation dynamique

// Instance de Excel existante ?
SI ObjetActif("Excel.Application") <> Null ALORS
// Récupération de l'instance de Excel existante
MaFeuilleXLS = ObjetActif("Excel.Application")
SINON
// Allocation de l'objet automation "MaFeuilleXLS"
MaFeuilleXLS = allouer un objet Automation "Excel.Application"
FIN

// Excel devient visible
MaFeuilleXLS>>Visible = Vrai
// Ouverture d'un classeur d'Excel
MaFeuilleXLS>>Workbooks>>Add()
...
// Code du bouton "FermeExcel"
// Fermeture du classeur Excel
MaFeuilleXLS>>ActiveWorkBook>>Close(True)
//si false et le fichier n'a pas de non, excel est fermé et rien n'est

enregistré.
// Fermeture de Excel
MaFeuilleXLS>>Quit()
libérer MaFeuilleXLS


Voici qq codes pour modifier, la feuille excel:
//donner une valeur à une cellule:
MaFeuilleXLS>>Range("A2")>>Value ="coucou"
//qq mise en page:
MaFeuilleXLS>>Range("A2")>>Font>>Bold=True
MaFeuilleXLS>>Range("A2")>>Font>>Italic=True
MaFeuilleXLS>>Range("A2")>>Font>>Color=RGB(255, 0, 0)
MaFeuilleXLS>>Range("A2")>>Font>>Size
MaFeuilleXLS>>Range("A2")>>Font>>Name="Comic Sans MS"
MaFeuilleXLS>>Range("A5:L5")>>HorizontalAlignment =-4108 //centré, -4131
gauche, -4152 droite
//pour affecter une formule:
//pour le format:
MaFeuilleXLS>>Range("F"+j+":F"+i)>>NumberFormat = "0,00"
//pour la largeur des colonnes:
MaFeuilleXLS>>Columns("L")>>ColumnWidth = 9
//définition des marges
MaFeuilleXLS>>Sheets("Feuil1")>>PageSetup>>LeftMargin = 0.5



"Michel" <info@edisoft.be> wrote:


Bonjour,

Je voudrais depuis mon appli, ouvre une feuille excel existante avec des
classeurs et bourrée de formules diverses et de liens entre classeurs

et
ensute importer dans cette feuille des données provenant de mes fichiers
hyper file et ce, dans les classeurs spécifiques.
Est-ce possible ? En 5.5, 7.5 ou 8 ? Merci pour votre aide.

Michel