|
Inicio → WINDEV 2024 → Champ tableur - largeur automatique des colonnes du contenu des cellules |
Champ tableur - largeur automatique des colonnes du contenu des cellules |
Iniciado por Jean-Christophe, 02,dic. 2021 13:04 - 5 respuestas |
| |
| | | |
|
| |
Publicado el 02,diciembre 2021 - 13:04 |
Bonjour à tous,
Dans le champ tableur si on positionne la souris entre deux entêtes de colonne et qu'on double-clique, la largeur de la colonne (à gauche du point cliqué) adapte automatiquement sa largeur en fonction du contenu de ses cellules.
En revanche, je n'ai pas trouvé si on faire lancer la même action par programmation ?
Merci d'avance,
Jean-Christophe |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.844 mensajes Popularité : +227 (347 votes) |
|
Publicado el 02,diciembre 2021 - 15:22 |
Bonjour, A priori, pas directement style(TableurAjusteColonne). Toutefois, une solution de contournement consisisterait à 1 parcourir la colonne en question (e.g "B") pour rechercher le contenu le plus long 2 Récupérer la largeur en pixel de cette cellule via TexteLargeur(TBLR_MonTableur["B"],saContenuLePlusLong) 3-Affecter le résultat à la largeur de la colonne via la propriété Largeur
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.844 mensajes Popularité : +227 (347 votes) |
|
Publicado el 02,diciembre 2021 - 20:39 |
le code suivant fait le boulot :
tabSelection est tableau de chaîne saNomColonne est chaîne
tabSelection=TableurRécupèreSélection(TBLR_Test) SI tabSelection..Occurrence=0 ALORS RETOUR FIN
saNomColonne=TableurRécupèreColonne(tabSelection[1]) TableurAjusteColonne(TBLR_Test,saNomColonne)
FONCTION TableurRécupèreColonne(saNomCellule est chaîne) :chaîne nNoColonne est un entier saNomColonne est une chaîne
nNoColonne=xlsNomVersCoordonnées(saNomCellule,xlsNumColonne) saNomColonne=xlsCoordonnéesVersNom(nNoColonne,1)
RENVOYER Gauche(saNomColonne,Taille(saNomColonne)-1)
Procedure TableurAjusteColonne(chMonTableur est Champ, saNomColonne est chaîne) saNomCellule est une chaîne nTailleMax est entier nLargeurMax est entier nLigneEnCours est entier
POUR nLigneEnCours=1 _À_ chMonTableur..NombreLigne saNomCellule=ChaîneConstruit("%1%2",saNomColonne,nLigneEnCours) SI nTailleMax<Taille(chMonTableur[saNomCellule]) ALORS nTailleMax=Taille(chMonTableur[saNomCellule]) FIN FIN
nLargeurMax= TexteLargeur(TBLR_Test["A1"],Complete("",nTailleMax,"A")) TBLR_Test[saNomCellule]..Largeur= nLargeurMax
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.844 mensajes Popularité : +227 (347 votes) |
|
Publicado el 02,diciembre 2021 - 20:40 |
Au lieu de TBLR_Test[saNomCellule]..Largeur= nLargeurMax lire
chMonTableur[saNomCellule]..Largeur= nLargeurMax
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 948 mensajes Popularité : +30 (92 votes) |
|
Publicado el 02,diciembre 2021 - 22:43 |
//On est maintenant sur de la taille du nom de la cellule s^r |
| |
| |
| | | |
|
| | |
| |
Publicado el 03,diciembre 2021 - 23:35 |
Merci Voroltinquo ça marche nickel.
J'ai juste ajusté le choix de la cellule "A1" pour choisir une cellule de la colonne qui à le format le plus contraignant (taille de police en particulier). |
| |
| |
| | | |
|
| | | | |
| | |
|