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 :

Pilotage Word (ajustement des colonnes)


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    1 131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 1 131
    Par défaut Pilotage Word (ajustement des colonnes)
    Bonjour à tous,

    Bon, làs de mes recherches, je vous soumet mon problème:

    Pour convertir dans word, du texte en tableau, je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Mail>>Selection>>ConvertToTable(TAB,oleignore,3,oleignore,oleignore,oleignore,oleignore,oleignore,...
                                                   oleignore,oleignore,oleignore,oleignore,oleignore,true,oleignore,oleignore)
    et tout va bien, sauf que je ne sais pas du tout redimensionner les colonnes en fonction de la taille du texte de chacune.
    Les 3 colonnes ont toutes la même taille alors que je souhaiterais qu'elles s'ajustent en fonction de leur contenu.
    sachant que
    la 1ère contient 5 caract. maxi,
    la 2ème n caract.
    la 3ème 10 caract. maxi.

    Inutile de vous préciser que Word et moi, ça fait deux.

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 245
    Par défaut
    hello serendib,
    tu peux essayer la fonction magique Autoformat.
    Voici un exemple qui ouvre un document word, recherche le premier tableau et ajuste automatiquement les colonnes du tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    WordObj est un objet OLE dynamique
    WordObj = allouer un objet Automation "Word.application"
    TableauObj est un objet OLE dynamique
    WordObj>>Visible = Vrai 
    // On ouvre le document
    WordObj>>Documents>>Open("F:\MonFichierWord.doc") //Fichier Word
    // On affecte le premier tableau du document à TableauObj
    TableauObj = WordObj>>ActiveDocument>>Tables(1)
    // On ajuste les colonnes du tableau
    TableauObj>>AutoFormat()
    Ami calmant, J.P

  3. #3
    Membre Expert
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    1 131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 1 131
    Par défaut
    Salut JP,

    Merci de ta promptitude.

    Avec ton code, aucune erreur, mais mes 3 colonnes restent invariablement identiques en largeur.

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 245
    Par défaut
    As-tu plusieurs tableaux dans ton document word ?
    Quelle version de word utilises-tu ?
    Tu utilises mon code tel qu'il est où tu l'as adapté dans ton code ?

  5. #5
    Membre Expert
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    1 131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 1 131
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    As-tu plusieurs tableaux dans ton document word ?
    Quelle version de word utilises-tu ?
    Tu utilises mon code tel qu'il est où tu l'as adapté dans ton code ?
    Non, un seul tableau, mais qui est en fait une "mise en tableau" d'un texte préformaté.
    Il faut de toute façon que ça marche avec toutes les versions de 2000 à ce jour.
    J'ai utilisé ton code tel quel.

    Mais voici ce que j'ai tenté (à tatons) et qui marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SI Mail>>ActiveDocument>>bookmarks>>exists("MesLignes") 
     	Mail>>Selection>>GoTo(-1,0,0,"MesLignes") //Se positionner sur le Signet
    	ListeClient="Qté"+tab+"Designaton + Régie"+tab+"Nb Colis/Cdt."+rc+ListeClient	
    	Mail>>Selection>>Text=ListeClient
    	//Texte en tableau (séparation des champ : TAB)
    	Mail>>Selection>>ConvertToTable(TAB,oleignore,3,oleignore,oleignore,oleignore,oleignore,oleignore,...
    	                                oleignore,oleignore,oleignore,oleignore,oleignore,oleignore,1,1)
    	  
    	Mail>>Selection>>EndKey(6,oleignore) // aller à la fin	
    sinon
    	info(MessTraduit(2001)) //"Il manque le signet 'MesLignes'")
    FIN
    sauf que mon tableau n'utilise plus toutes la largeur de la page, mais c'est déjà mieux...

    Bien sûr si tu as mieux à me proposer...

    En tout cas merci.

  6. #6
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 245
    Par défaut
    Ok
    dans ton converttotable les deux paramètres que tu as rajoutés sont apparemment (vu leurs places) AutoFitBehavior et DefaultTableBehavior :
    AutoFit
    Facultatif
    Variante
    True pour diminuer autant que possible la largeur des colonnes du tableau sans modifier la façon dont le texte passe à la ligne dans les cellules.
    AutoFitBehavior
    Facultatif
    Variante
    Définit les règles d'ajustement automatique s'appliquant à la façon dont Word dimensionne un tableau. Il peut s'agir de l'une des constantes WdAutoFitBehavior suivantes. Si ComportementTableauParDéfaut a la valeur wdWord8TableBehavior, cet argument est ignoré.
    DefaultTableBehavior
    Facultatif
    Variante
    Définit une valeur qui spécifie si Microsoft Word redimensionne automatiquement les cellules d'un tableau de façon à les adapter au contenu (Ajustement automatique). Il peut s'agir de l'une des constantes WdDefaultTableBehavior.
    tu n'as pas utilisé le paramètre Autofit (le paramètre 14) mais je crois qu'il est par défaut à vrai.

    tu as mis à 1 AutoFitBehavior et DefaultTableBehavior

    Pour AutoFiBehavior on peut avoir les valeurs :
    wdAutoFitContent The table is automatically sized to fit the content contained in the table. Value is 1 (0x1)
    wdAutoFitFixed The table is set to a fixed size, regardless of the content, and is not automatically sized. Value is 0 (0x0)
    wdAutoFitWindow The table is automatically sized to the width of the active window. Value is 2 (0x2)
    Pour DefaultTableBehavior on peut avoir les valeurs
    wdWord8TableBehavior Disables AutoFit. Default. Value is 0 (0x0)
    wdWord9TableBehavior Enables AutoFit. Value is 1 (0x1)

Discussions similaires

  1. Ajustement des colonnes du DBGRID au texte
    Par stfanny31 dans le forum Langage
    Réponses: 7
    Dernier message: 07/05/2012, 08h00
  2. [WD16] Pilotage Excel; Taille des colonnes
    Par Jiybee dans le forum WinDev
    Réponses: 2
    Dernier message: 23/08/2011, 08h47
  3. [AC-2003] Ajustement des colonnes formulaire de recherche multi-critères
    Par olivier777 dans le forum IHM
    Réponses: 5
    Dernier message: 07/06/2010, 12h16
  4. [AC-2003] Ajustement des colonnes pour formulaire multi-critères
    Par olivier777 dans le forum IHM
    Réponses: 0
    Dernier message: 06/06/2010, 19h00
  5. ajustement des colonnes d'une table
    Par benja01 dans le forum WinDev
    Réponses: 1
    Dernier message: 29/04/2008, 09h01

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