|
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, dez., 02 2021 1:04 PM - 5 respostas |
| |
| | | |
|
| |
Publicado em dezembro, 02 2021 - 1:04 PM |
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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.878 mensagems Popularité : +227 (347 votes) |
|
Publicado em dezembro, 02 2021 - 3:22 PM |
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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.878 mensagems Popularité : +227 (347 votes) |
|
Publicado em dezembro, 02 2021 - 8:39 PM |
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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.878 mensagems Popularité : +227 (347 votes) |
|
Publicado em dezembro, 02 2021 - 8:40 PM |
Au lieu de TBLR_Test[saNomCellule]..Largeur= nLargeurMax lire
chMonTableur[saNomCellule]..Largeur= nLargeurMax
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Membro registado 948 mensagems Popularité : +30 (92 votes) |
|
Publicado em dezembro, 02 2021 - 10:43 PM |
//On est maintenant sur de la taille du nom de la cellule s^r |
| |
| |
| | | |
|
| | |
| |
Publicado em dezembro, 03 2021 - 11:35 PM |
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). |
| |
| |
| | | |
|
| | | | |
| | |
|