bonjour à tous et toutes
Je me permets de solliciter votre aide, afin de répondre à une question à laquelle je ne trouve de solutions...
Mon problème :
je suis en train de programmer via OLE un fichier Excel.
Je sais qu'il existe une classe CExcel spécifique à Windev, mais elle ne répond pas à mes attentes..
voici un petit bout de code, peut-être comprendrez-vous mon problème.
//* il faut considérer que toutes les variables sont déclarées
//* Pour la demande qui m'a été faite, je me vois contraint de piloter Excel avec ReferenceStyle = -4150 (Format des cellules en "L1C1", où L représente la ligne et C la colonne au lieu de "A1")
Ce que je souhaite, cela serait de remplacer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 //** Je suis obligé de passer par le format "A1" afin de ne pas planter.. mais cela ne m'aide pas car plusieurs de mes cellules doivent être fusionnées sPlageCellulePeriode est une chaine = "A1:A1" //* => "L1C1" sPlageCelluleCommerciaux est une chaine = "A2:A3" //* => ?? iIColonneEnCours,iILigneEnCours sont des entiers iColonneSuivante,iILigneSuivante sont des entiers iILigneEnCours = Val(Milieu(P_SPlageCellule,2,Taille(Position(P_SPlageCellule,"C")))) iIColonneEnCours = Val(ExtraitChaîne(P_SPlageCellule,1,"C",DepuisFin)) //* Modification temporaire du style : "A1" pautExcel>>Application>>ReferenceStyle = 1 //* Modification, fusion, alignement et attribution de la valeur pour la plage/cellule pautExcel>>ActiveSheet>>Range(sPlageCellulePeriode)>>Select() pautExcel>>ActiveSheet>>Range(sPlageCellulePeriode)>>Merge() pautExcel>>ActiveSheet>>Range(sPlageCellulePeriode)>>HorizontalAlignment = -4108 pautExcel>>ActiveSheet>>Range(sPlageCellulePeriode)>>VerticalAlignment = -4108 pautExcel>>ActiveSheet>>Range(sPlageCellulePeriode)>>Value = P_sNom_Mois pautExcel>>ActiveSheet>>Range(sPlageCelluleCommerciaux)>>Select() pautExcel>>ActiveSheet>>Range(sPlageCelluleCommerciaux)>>Merge() pautExcel>>ActiveSheet>>Range(sPlageCelluleCommerciaux)>>HorizontalAlignment = -4108 pautExcel>>ActiveSheet>>Range(sPlageCelluleCommerciaux)>>VerticalAlignment = -4108 pautExcel>>ActiveSheet>>Range(sPlageCelluleCommerciaux)>>Value = P_sValeurPlagecommerciaux
par quelque chose comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part pautExcel>>ActiveSheet>>Range(sPlageCelluleCommerciaux)>>Select()
Mais Windev me souligne en rouge les mots
Code : Sélectionner tout - Visualiser dans une fenêtre à part pautExcel>>ActiveSheet>>Range(Cells(iILigneEnCours ,iIColonneEnCours),Cells(iILigneEnCours,iIColonneEnCours+4))>>Select()
Code : Sélectionner tout - Visualiser dans une fenêtre à part Cells
Que puis-je faire ?
Merci par avance
Cordialement
Partager