IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Modifier police et taille fichier excel par programmation [WD19]


Sujet :

WinDev

  1. #1
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 150
    Points : 74
    Points
    74
    Par défaut Modifier police et taille fichier excel par programmation
    Bonjour,

    J'ai une table contenant des données extraites de ma base SQL.
    J'ai ensuite fait par programmation, une sortie vers excel. Je n'utilise pas tableversexcel car je dois utiliser un fichier type avec un logo, etc...


    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
     
    mafeuille est un xlsDocument
    mafeuille = xlsOuvre(nomfichier)
     
            tantque pas h.endors
            mafeuille[numlign,"B"] = variable1
    	mafeuille[numlign,"C"] = variable2
    	mafeuille[numlign,"D"] = variable3
    	mafeuille[numlign,"E"] = variable4
     
            .....
            hlitsuivant
     
    FIN
     
    xlsSauve(mafeuille) //On sauvegarde le document.
    J'essai par contre de modifier la police et la taille ; mais sans succès.

    Avec policecréé, iParamètreXLS....iCréePolice(1, 8, iNormal, "Arial") mais je n'y arrive pas.
    Merci d'avance pour votre aide.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    essayes avec iArial plutôt !

    bon courage,

    Nicolas

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 552
    Points : 1 193
    Points
    1 193
    Par défaut
    Bonjour,

    je viens de faire le test (WD19 56s) avec iPoliceCrée(), cela fonctionne parfaitement.

    Il faudrait donc que vous nous montriez votre code "non-fonctionnel" car dans le code que vous avez mis, je ne vois aucun appel aux changement de police.

    Cdlt

  4. #4
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 150
    Points : 74
    Points
    74
    Par défaut
    Bonjour,

    Justement, je ne sais pas quoi mettre comme code.
    J'ai essayé plusieurs code, sans résultat.

    Encore merci

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 552
    Points : 1 193
    Points
    1 193
    Par défaut
    Vu que vous ne voulez pas me montrer le code NON-fonctionnel, je vous invite à regarder l'aide :

    http://doc.pcsoft.fr/fr-FR/?2510095&name=Police

  6. #6
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 150
    Points : 74
    Points
    74
    Par défaut
    Bonsoir,

    J'avais déjà regardé, mais sans succès.
    Je verrai demain et reviendrai vers vous.

    En tout cas, encore merci pour votre aide.

  7. #7
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 150
    Points : 74
    Points
    74
    Par défaut
    Bonjour,

    J'ai donc repris l'aide de windev via "policecrée"


    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
    numlign est un entier = 23 //On indique à partir de quelle ligne nous allons écrire les données. 
     
     
    TANTQUE PAS H.EnDehors
     
    	MaPolice est une Police
    	MaPolice = PoliceCrée("Arial", 12, iGras)
    	mafeuille[numlign]..Police = MaPolice
     
     
    	mafeuille[numlign,"A"] = var1
    	mafeuille[numlign,"B"] = var2
    	mafeuille[numlign,"C"] = var3
    	mafeuille[numlign,"D"] = var4
     
     
    	HLitSuivant(Asrecep)
    	numlign++
     
    FIN
    Windev me dit "opérateur '..' interdit.
    Encore merci

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 552
    Points : 1 193
    Points
    1 193
    Par défaut
    Enfin du code !

    Donc à la lecture de votre code, l'erreur se trouve au niveau des déclarations.

    Quel est le type de déclaration de la variable mafeuille ?

    Je suppose qu'il est de type xlsDocument ?

    Si oui alors l'erreur est "normal" un type xlsDocument ne possède pas cette propriété :
    http://doc.pcsoft.fr/fr-FR/?10000174..._type_variable

    Il faut faire le traitement à la cellule, et là vous verrez que la propriété Police existe :
    http://doc.pcsoft.fr/fr-FR/?10000174..._type_variable

  9. #9
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 150
    Points : 74
    Points
    74
    Par défaut
    Ry_Yo,

    Oui, j'utilise bien xlsdocument.

    Je dois vraiment être stupide, mais je ne trouve rien dans la doc.
    Que ce soit dans les livres fourni avec la licence, ou via internet.

    J'ai donc essayé avec xlscellule, mais sans résultat. Enfin, je ne sais pas l'utiliser.
    J'ai ajouté le code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	macellule est une xlsCellule
    	macellule..Police..Nom = "Arial"
    	macellule..Police..Taille = 8
    Mais comment faire le lien avec mon document "mafeuille" ?

    Merci d'avance.

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 552
    Points : 1 193
    Points
    1 193
    Par défaut
    Alors dans l'ordre :
    - crée un xlsDocument
    - crée un xlsCellule
    - affecté une cellule du xlsDocument dans le xlsCellule

    Cela donnera quelquechose de ce genre :
    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
    mafeuille est un xlsDocument
    maCellule est un xlsCellule
    maPolice est une Police 
    
    // Imaginons que je veuille modifier la cellule A1
    maCellule = mafeuille[1,1]
    
    //Je peux modifer la police maintenant à partir de maCellule
    maPolice = PoliceCrée("Arial", 15, iGras)
    
    maCellule..Police = maPolice 
    
    // On mémorise l'info dans le document
    mafeuille[1,1] = maCellule 
    
    // On sauvegarde le xls, et cela devrait être OK
    Donc, on voit bien que le traitement doit se faire à la cellule, et pas à la ligne ou colonne... Hélas il faudra donc faire un parcours supplémentaire si on doit mettre en forme tout une ligne ou tout une colonne.

  11. #11
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    De mon côté j'en avais eu besoin, voici un bout de code qui devrait t'aider.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PoliceTypeBloc est une Police = PoliceCrée("Arial",11,iSouligné+iGras,Noir)
    mafeuille[1,"A"]..Police = PoliceTypeBloc // A préciser pour chaque case...
    mafeuille[1,"A"] = "Prélèvements automatiques avec TVA à 20%"
    En fait il faut préciser la police pour chaque case.

    Amicalement,

    Eric.

  12. #12
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 150
    Points : 74
    Points
    74
    Par défaut
    Re,

    Ils n'ont pas fait simple cette fois ci.
    En tout cas, merci beaucoup pour ton aide. Je m'en vais appliquer ça.

    Encore merci

  13. #13
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 150
    Points : 74
    Points
    74
    Par défaut
    Bonjour EriCstoFF,

    J'ai essayé avec votre méthode. Et ça fonctionne parfaitement et je trouve, plus simplement.
    Merci à tous pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. transfert contenu fichier excel par macro
    Par pascal913 dans le forum Access
    Réponses: 7
    Dernier message: 12/07/2006, 11h01
  2. Ouverture de fichiers excel par ordre alphabetique
    Par max2245 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 30/12/2005, 16h54
  3. Ouvrir un fichier Excel par lien Hypertexte
    Par illight dans le forum Access
    Réponses: 4
    Dernier message: 27/10/2005, 15h42
  4. Réponses: 3
    Dernier message: 20/09/2005, 17h59
  5. Enregistrement d'un fichier Excel par automation
    Par tiopan dans le forum Access
    Réponses: 2
    Dernier message: 04/12/2003, 19h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo