Aide - Recherche - Membres - Calendrier
Version complète : Macro "renvoi à la ligne automatique"
Trucs et astuces Express > Discussions Informatique > Microsoft Office 2003 / 2007 > Excel
Couttecouette
Bonjour à tous,

En surfant sur le forum, j'ai trouvé la macro que je cherche depuis un moment déjà, à savoir le renvoi à la ligne automatique pour une celulle fusionnée. Voici le code :

CODE
Sub AutoFitMergedCellRowHeight()
Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
Dim CurrCell As Range<BR>Dim ActiveCellWidth As Single, PossNewRowHeight As Single
If ActiveCell.MergeCells Then
With ActiveCell.MergeArea .WrapText = True 'enclenche le renvoi à la ligne automatique (modif fs)
If .Rows.Count = 1 Then 'And .WrapText = True Then
   Application.ScreenUpdating = False
   CurrentRowHeight = .RowHeight
   ActiveCellWidth = ActiveCell.ColumnWidth
   For Each CurrCell In Selection
   MergedCellRgWidth = CurrCell.ColumnWidth + MergedCellRgWidth
   Next
  .MergeCells = False
  .Cells(1).ColumnWidth = MergedCellRgWidth
  .EntireRow.AutoFit
   PossNewRowHeight = .RowHeight
  .Cells(1).ColumnWidth = ActiveCellWidth
  .MergeCells = True
  .RowHeight = IIf(CurrentRowHeight > PossNewRowHeight, CurrentRowHeight, PossNewRowHeight)
End If
End With
End If
End Sub


Est-ce que quelqu'un pourrait me dire comment faire pour que ce ne soit pas une macro que j'exécute quand bon me semble mais une macro automatique et qui fonctionne sur une feuille excel complète ?

J'ai en effet toute une feuille excel qui contient des cellules fusionnées où cette macro m'est d'une grande utilité.

Merci pour votre aide précieuse.

unsure.gif
herve62
CITATION(Couttecouette @ 15-10-2007 - 12:18) *
Bonjour à tous,

En surfant sur le forum, j'ai trouvé la macro que je cherche depuis un moment déjà, à savoir le renvoi à la ligne automatique pour une celulle fusionnée. Voici le code :

CODE
Sub AutoFitMergedCellRowHeight()
Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
Dim CurrCell As Range<BR>Dim ActiveCellWidth As Single, PossNewRowHeight As Single
If ActiveCell.MergeCells Then
With ActiveCell.MergeArea .WrapText = True 'enclenche le renvoi à la ligne automatique (modif fs)
If .Rows.Count = 1 Then 'And .WrapText = True Then
   Application.ScreenUpdating = False
   CurrentRowHeight = .RowHeight
   ActiveCellWidth = ActiveCell.ColumnWidth
   For Each CurrCell In Selection
   MergedCellRgWidth = CurrCell.ColumnWidth + MergedCellRgWidth
   Next
  .MergeCells = False
  .Cells(1).ColumnWidth = MergedCellRgWidth
  .EntireRow.AutoFit
   PossNewRowHeight = .RowHeight
  .Cells(1).ColumnWidth = ActiveCellWidth
  .MergeCells = True
  .RowHeight = IIf(CurrentRowHeight > PossNewRowHeight, CurrentRowHeight, PossNewRowHeight)
End If
End With
End If
End Sub


Est-ce que quelqu'un pourrait me dire comment faire pour que ce ne soit pas une macro que j'exécute quand bon me semble mais une macro automatique et qui fonctionne sur une feuille excel complète ?

J'ai en effet toute une feuille excel qui contient des cellules fusionnées où cette macro m'est d'une grande utilité.

Merci pour votre aide précieuse.

unsure.gif




Comment se fait-il qu'il ny a eu aucune réponse pour une question si simple ????
C'est un forum ou personne s'y connait ??
Je découvre !!!!
je ne pense paas que la personne s'inquiète encore ??? ennfin voila la réponse

Private Sub Worksheet_Change
code ........ici
end sub
Groumphy
CITATION(herve62 @ 07-02-2008 - 10:23) *
Comment se fait-il qu'il ny a eu aucune réponse pour une question si simple ????


mai_tropcon.gif

CITATION(herve62 @ 07-02-2008 - 10:23) *
C'est un forum ou personne s'y connait ??
mai_stupid.gif

CITATION(herve62 @ 07-02-2008 - 10:23) *
Je découvre !!!!


Forum39.gif

CITATION(herve62 @ 07-02-2008 - 10:23) *
je ne pense paas que la personne s'inquiète encore ??? ennfin voila la réponse
bouletdujour.gif

CITATION(herve62 @ 07-02-2008 - 10:23) *
Private Sub Worksheet_Change
code ........ici
end sub



Heu... T'aurais pas oublié de lire le règlement !! icon_mrgreen.gif Les bouts de code doivent être mis en forme... oct_parkboulet.gif
Ceci une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquez ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.