Pb d'ajustement automatique avec les cellules fusionnées
2 réponses
Fred
Hello ts le monde.
Je ne sais pas comment faire pour que les colonnes=20
contenants des cellules fusionn=E9e soit ajust=E9=20
automatiquement (en tenant compte des cellules fusionn=E9es=20
bien sur).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Charles Cournault
Bonsoir,
Une suggestion qui fonctionne : - si j'ai bien compris la question - si la police de caractère est le style Normal (en général Arial 10)
1 - Ajuster les colonnes normalement avec double clic 2 - Sélectionner les colonnes à ajuster et lancer la macro 3 - Ca fonctionne à peu près bien pour 2 colonnes : a adapter
Sub Ajust()
Dim Max, X, NbColonne, PremColonne, LargColonne As Long
Max = 0 NbColonne = Selection.Columns.Count PremColonne = Selection.Column
For Each c In Selection If Len(c.Text) > Max Then Max = Len(c.Text) 'Cherche dans la sélection la cellule qui contient le plus de texte Next c
For X = 0 To NbColonne - 1 LargColonne = Columns(PremColonne + X).ColumnWidth Columns(PremColonne + X).ColumnWidth = (Max - LargColonne + 1) / NbColonne Next X
End Sub
"Fred" a écrit dans le message de news: 0fdc01c340a9$08fbb470$ Hello ts le monde.
Je ne sais pas comment faire pour que les colonnes contenants des cellules fusionnée soit ajusté automatiquement (en tenant compte des cellules fusionnées bien sur).
Toutes aides serait tres apréciée.
Merci.
Bonsoir,
Une suggestion qui fonctionne :
- si j'ai bien compris la question
- si la police de caractère est le style Normal (en général Arial 10)
1 - Ajuster les colonnes normalement avec double clic
2 - Sélectionner les colonnes à ajuster et lancer la macro
3 - Ca fonctionne à peu près bien pour 2 colonnes : a adapter
Sub Ajust()
Dim Max, X, NbColonne, PremColonne, LargColonne As Long
Max = 0
NbColonne = Selection.Columns.Count
PremColonne = Selection.Column
For Each c In Selection
If Len(c.Text) > Max Then Max = Len(c.Text) 'Cherche dans la sélection
la cellule qui contient le plus de texte
Next c
For X = 0 To NbColonne - 1
LargColonne = Columns(PremColonne + X).ColumnWidth
Columns(PremColonne + X).ColumnWidth = (Max - LargColonne + 1) /
NbColonne
Next X
End Sub
"Fred" <fcouste@formatel.fr> a écrit dans le message de news:
0fdc01c340a9$08fbb470$a301280a@phx.gbl...
Hello ts le monde.
Je ne sais pas comment faire pour que les colonnes
contenants des cellules fusionnée soit ajusté
automatiquement (en tenant compte des cellules fusionnées
bien sur).
Une suggestion qui fonctionne : - si j'ai bien compris la question - si la police de caractère est le style Normal (en général Arial 10)
1 - Ajuster les colonnes normalement avec double clic 2 - Sélectionner les colonnes à ajuster et lancer la macro 3 - Ca fonctionne à peu près bien pour 2 colonnes : a adapter
Sub Ajust()
Dim Max, X, NbColonne, PremColonne, LargColonne As Long
Max = 0 NbColonne = Selection.Columns.Count PremColonne = Selection.Column
For Each c In Selection If Len(c.Text) > Max Then Max = Len(c.Text) 'Cherche dans la sélection la cellule qui contient le plus de texte Next c
For X = 0 To NbColonne - 1 LargColonne = Columns(PremColonne + X).ColumnWidth Columns(PremColonne + X).ColumnWidth = (Max - LargColonne + 1) / NbColonne Next X
End Sub
"Fred" a écrit dans le message de news: 0fdc01c340a9$08fbb470$ Hello ts le monde.
Je ne sais pas comment faire pour que les colonnes contenants des cellules fusionnée soit ajusté automatiquement (en tenant compte des cellules fusionnées bien sur).
Toutes aides serait tres apréciée.
Merci.
Fred
Merci de m'avoir répondu.
J'ai mis la macro mais je ne peux pas la lancée, il me met: Erreur d'exécution '1004': Impossible de définir la propriété ColumnWidth de la classe Range. il aime pas la ligne : Columns(PremColonne + X).ColumnWidth = (Max - LargColonne + 1) / NbColonne
De toute facon je pense que dans mon cas sa ne marchera pas car en fait c'est plusieurs tableau avec des styles d'écriture différents, de taille différent...
Merci quand meme.
Merci de m'avoir répondu.
J'ai mis la macro mais je ne peux pas la lancée, il me met:
Erreur d'exécution '1004':
Impossible de définir la propriété ColumnWidth de la
classe Range.
il aime pas la ligne :
Columns(PremColonne + X).ColumnWidth = (Max - LargColonne
+ 1) / NbColonne
De toute facon je pense que dans mon cas sa ne marchera
pas car en fait c'est plusieurs tableau avec des styles
d'écriture différents, de taille différent...
J'ai mis la macro mais je ne peux pas la lancée, il me met: Erreur d'exécution '1004': Impossible de définir la propriété ColumnWidth de la classe Range. il aime pas la ligne : Columns(PremColonne + X).ColumnWidth = (Max - LargColonne + 1) / NbColonne
De toute facon je pense que dans mon cas sa ne marchera pas car en fait c'est plusieurs tableau avec des styles d'écriture différents, de taille différent...