Bonjour
J'ai fait un tableau contenant dans la 1ère colonne les mois et à la 1ère ligne les jours.(pour des sommes)
Pour la largeur des colonnes j'ai manuellement mis la valeur de 3 à toutes les colonnes.
J'aimerais qu'à la date du jour,la largeur de la colonne correspondante s'adapte aux données de la cellule et reprenne la valeur de 3 dés le lendemain.
Bien entendu les autres restes à 3 en attendant bien sagement leur tour.
Je ne maitrise pas VBA mais si il le faut j’essayerai.
Bonne journée et merci par avance pour vos aides!
BT
est bien plus complexe sur une feuille Excel. Il s'agirait en effet de déterminer une largeur de colonne correspondant à une largeur graphique de texte, qui elle-même dépend de plusieurs facteurs (la police, sa taille, etc ..., mais également une "intervention" purement Excel et incontrôlée : celle de marges d'affichage à adopter selon le cas)
Une autre question se pose : celle de données qui, entre deux lignes de la même colonne, contiendraient des textes de largeurs graphiques différentes
Tu auras probablement à jouer de manière plus simple avec le format des cellules ("renvoyer à la ligne automatiquement")
as-tu essayé ?
La méthode autofit n'adapte pas la largeur au contenu, mais le contenu à la largeur en en modifiant la taille de police)
Et tu la laisses ainsi à 3, en plus, cette largeur. Tu as une bonne loupe à portée de mains, j'espère ...
Bonjour
Merci pour la rapidité de vos réponses que je pense avoir comprises,effectivement "autofit"ne semble pas convenir si ce n'est pas la largeur de la colonne qui s'adapte.
Quand à l'aspect et la longueur des données dans les cellules,ce sont(à une virgule et 2 chiffres près) les mêmes dans toutes les colonnes.
Je n'ai plus que la mise en application (tout bête)avec un peu de paracétamol à consommer avec modération!!! (en garder pour ce que vous savez.Chut!!!!)
A bientôt et encore merci
Pour quoi avec lui ? Qu'est cette chose, encore (mode et rations) ?
Garde cela pour toi tout seul (en cette période de "chacun pour soi") ou encore avec de meilleurs partenaires : Parsimoni (qui lui, au moins, est un Corse) ou Beau Nessian (bon .. un Arménien, mais ça va...).
Et toi, as-tu essayé ?
Autofit permet de modifier la largeur des colonnes pour les ajuster au mieux, en fonction du contenu des cellules.
Voir : Range. AutoFit, méthode (Excel) | Microsoft Docs
fais donc ton essai avec la seule lettre "A" en colonne "du jour" de la ligne 1 et "Bonjour toute la compagnie des xldiens" en colonne "du jour" de la ligne 2
Ah zut, alors ...
Remède ? -->> format de cellules (pour toute la colonne) -->> ajuster --->> Ah flute, alors ...
Amitiés
Exemple, avec le jour en ligne 1 et le mois en colonne A (comme demandé) :
VB:
Option Explicit
Public Sub AutofitColonneDuJour(wsh As Worksheet)
Dim r As Range
Set r = wsh.Range("B1").CurrentRegion.Offset(0, 1)
Set r = r.Resize(, r.Columns.Count - 1)
r.ColumnWidth = 3
r.Columns(Day(Date)).AutoFit
End Sub
Modération c'est imposé en circuit court contre la Corse et pour ce qui est de "beau nez sciant" autrement dit "poisson-scie" menacé d'extinction, j'ai préféré le laisser tranquille au fonds des océans.
BT
Patrice je ne comprends pas trop voir même moins que pas trop le code,mais le fichier joint a l'air de correspondre à ma demande.
Donc en l’état le 22 mars la colonne V reviendra à 3 et la W s'adaptera au texte?
BT
Le principe est simple :
Dans un premier temps, toutes les colonnes du tableau, sauf la première, sont réglées à 3 de largeur.
puis la colonne du jour est en largeur automatique (l'équivalent du double clic sur la ligne de séparation des titres de colonne)
Pour automatiser ce code, il est exécuté à l'ouverture du fichier et/ou à l'activation de la feuille, donc en plus du code ci-dessus qui est dans un module Standard, tu trouves
dans le module du classeur :
VB:
Option Explicit
Private Sub Workbook_Open()
Call mMain.AutofitColonneDuJour(Feuil1)
End Sub
Edit : il faut bien sûr adapter le codename (Feuil1) de la feuille en fonction de ton classeur
Et dans le module de la feuille :
VB:
Option Explicit
Private Sub Worksheet_Activate()
Call mMain.AutofitColonneDuJour(Me)
End Sub
A Patrice33740
Toutes mes excuses. Tu avais et as raison. Je ne sais pas pourquoi les essais que j'avais faits sur un classeur ouvert en cours aboutissaient à un résultat différent.
C'est super je pense pouvoir me débrouiller avec ces explications en farfouillant,décortiquant,malaxant,disséquant etc...même en tant que novice.
Bravo et merci à vous deux.
BT