Bonjour
J'ai un problème concernant la largeur des colonnes :
- dans mon classeur, toutes les colonnes ont une largeur de "2"
- je pensais que 6 cellules fusionnées auraient une largeur de "12", et donc contiendrait autant de texte qu'une cellule de largeur "12"
- or ce n'est pas le cas, une colonne de 12 est moins large que 6 colonnes de 2.
Ce problème s'intègre dans l'écriture d'une macro pour ajuster automatiquement la hauteur de cellules fusionnées avec retour à la ligne.
Je joins un fichier test dans lequel les cellules fusionnées dont la hauteur doit s'ajuster automatiquement sont en A2, F5, C7. J'ai écrit cette macro dans le code de la feuille, qui fonctionne presque sauf quand le nombre de caractères est limite (la hauteur de ligne étant alors trop grande :
Comment connaître la largeur exacte des cellules fusionnées ?
Merci
J'ai un problème concernant la largeur des colonnes :
- dans mon classeur, toutes les colonnes ont une largeur de "2"
- je pensais que 6 cellules fusionnées auraient une largeur de "12", et donc contiendrait autant de texte qu'une cellule de largeur "12"
- or ce n'est pas le cas, une colonne de 12 est moins large que 6 colonnes de 2.
Ce problème s'intègre dans l'écriture d'une macro pour ajuster automatiquement la hauteur de cellules fusionnées avec retour à la ligne.
Je joins un fichier test dans lequel les cellules fusionnées dont la hauteur doit s'ajuster automatiquement sont en A2, F5, C7. J'ai écrit cette macro dans le code de la feuille, qui fonctionne presque sauf quand le nombre de caractères est limite (la hauteur de ligne étant alors trop grande :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Targe_2 As Range
On Error GoTo errorHandler
If Not Intersect(Target, Range("A2")) Is Nothing Or Not Intersect(Target, Range("F5")) Is Nothing Or Not Intersect(Target, Range("C7")) Is Nothing Then
Set Target_2 = Worksheets("Résumé").Range("DD1000") ' définir une cellule hors du tableau
Hauteur_T2 = Target_2.RowHeight
Largeur_T2 = Target_2.ColumnWidth
Target.MergeArea.WrapText = True
Target_2.MergeArea.WrapText = True
Target_2.Font.Name = Target.Font.Name
Target_2.Font.Size = Target.Font.Size
Target_2.ColumnWidth = Target.MergeArea.Columns.Count * Range("A1").ColumnWidth
Target_2.Value = Target
Target_2.Rows.AutoFit
Target.RowHeight = Target_2.RowHeight
Target_2.Clear
Target_2.RowHeight = Hauteur_T2
Target_2.ColumnWidth = Largeur_T2
End If
Exit Sub
errorHandler:
Set Target_2 = Worksheets("Résumé").Range("DD1000") ' définir une cellule hors du tableau
Target.RowHeight = Target_2.RowHeight
End Sub
Comment connaître la largeur exacte des cellules fusionnées ?
Merci
Pièces jointes
Dernière édition: