Bonjour,
j'ai une macro qui me redimensionne la hauteur des lignes de
certaines cellules, de façon automatique, et je voudrais verouiller tou tes
mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cel lules
non verouillées.
Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
aux (****) quand je saisi du texte dans les cellules qui se redimensionne nt
automatiquement.
Merci si vous pouvez m'aider..
Yann.
voilà ma macro pour la hauteur automatique des lignes
---------------
'hauteur des lignes automatique
Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Rang e)
Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
For I = 1 To Target.MergeArea.Columns.Count
LARGEUR = LARGEUR + Target.ColumnWidth
Next I
Application.EnableEvents = False
With ActiveSheet.UsedRange
Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offs et(1)
AncLarg = c.ColumnWidth
c.ColumnWidth = LARGEUR '(*****************)
c.WrapText = True
c.Value = Target.Value
Target.EntireRow.RowHeight = c.Height
Var = c.Address
c.Clear
c.ColumnWidth = AncLarg
End With
Recalcul
Application.EnableEvents = True
End Sub
------------
et ma macro de verouillage :
-----------
' Protection automatique de toutes les feuilles d'un classeur
Sub PROTEGERFEUILLES()
Dim Nombre As Integer
Nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For I = 1 To Nombre
Worksheets(I).Protect , DrawingObjects:=True
ActiveSheet.EnableSelection = xlUnlockedCells
AllowFormattingRows = True
AllowFormattingColumns = True 'rajouté, mais ça sert à rien
Next I
End Sub
---------------
Bonjour,
j'ai une macro qui me redimensionne la hauteur des lignes de
certaines cellules, de façon automatique, et je voudrais verouiller tou tes
mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cel lules
non verouillées.
Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
aux (****) quand je saisi du texte dans les cellules qui se redimensionne nt
automatiquement.
Merci si vous pouvez m'aider..
Yann.
voilà ma macro pour la hauteur automatique des lignes
---------------
'hauteur des lignes automatique
Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Rang e)
Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
For I = 1 To Target.MergeArea.Columns.Count
LARGEUR = LARGEUR + Target.ColumnWidth
Next I
Application.EnableEvents = False
With ActiveSheet.UsedRange
Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offs et(1)
AncLarg = c.ColumnWidth
c.ColumnWidth = LARGEUR '(*****************)
c.WrapText = True
c.Value = Target.Value
Target.EntireRow.RowHeight = c.Height
Var = c.Address
c.Clear
c.ColumnWidth = AncLarg
End With
Recalcul
Application.EnableEvents = True
End Sub
------------
et ma macro de verouillage :
-----------
' Protection automatique de toutes les feuilles d'un classeur
Sub PROTEGERFEUILLES()
Dim Nombre As Integer
Nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For I = 1 To Nombre
Worksheets(I).Protect , DrawingObjects:=True
ActiveSheet.EnableSelection = xlUnlockedCells
AllowFormattingRows = True
AllowFormattingColumns = True 'rajouté, mais ça sert à rien
Next I
End Sub
---------------
Bonjour,
j'ai une macro qui me redimensionne la hauteur des lignes de
certaines cellules, de façon automatique, et je voudrais verouiller tou tes
mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cel lules
non verouillées.
Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
aux (****) quand je saisi du texte dans les cellules qui se redimensionne nt
automatiquement.
Merci si vous pouvez m'aider..
Yann.
voilà ma macro pour la hauteur automatique des lignes
---------------
'hauteur des lignes automatique
Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Rang e)
Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
For I = 1 To Target.MergeArea.Columns.Count
LARGEUR = LARGEUR + Target.ColumnWidth
Next I
Application.EnableEvents = False
With ActiveSheet.UsedRange
Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offs et(1)
AncLarg = c.ColumnWidth
c.ColumnWidth = LARGEUR '(*****************)
c.WrapText = True
c.Value = Target.Value
Target.EntireRow.RowHeight = c.Height
Var = c.Address
c.Clear
c.ColumnWidth = AncLarg
End With
Recalcul
Application.EnableEvents = True
End Sub
------------
et ma macro de verouillage :
-----------
' Protection automatique de toutes les feuilles d'un classeur
Sub PROTEGERFEUILLES()
Dim Nombre As Integer
Nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For I = 1 To Nombre
Worksheets(I).Protect , DrawingObjects:=True
ActiveSheet.EnableSelection = xlUnlockedCells
AllowFormattingRows = True
AllowFormattingColumns = True 'rajouté, mais ça sert à rien
Next I
End Sub
---------------
dim largeur
ou
dim largeur as variant
columnwidth est une propriété dont le type est en variant
@+
On 14 oct, 10:27, Sunburn wrote:
> Bonjour,
> j'ai une macro qui me redimensionne la hauteur des lignes de
> certaines cellules, de façon automatique, et je voudrais verouiller toutes
> mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> non verouillées.
> Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> aux (****) quand je saisi du texte dans les cellules qui se redimensionnent
> automatiquement.
>
> Merci si vous pouvez m'aider..
> Yann.
>
> voilà ma macro pour la hauteur automatique des lignes
> ---------------
> 'hauteur des lignes automatique
> Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
> If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
> For I = 1 To Target.MergeArea.Columns.Count
> LARGEUR = LARGEUR + Target.ColumnWidth
> Next I
> Application.EnableEvents = False
> With ActiveSheet.UsedRange
> Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1)
> AncLarg = c.ColumnWidth
> c.ColumnWidth = LARGEUR '(*****************)
> c.WrapText = True
> c.Value = Target.Value
> Target.EntireRow.RowHeight = c.Height
> Var = c.Address
> c.Clear
> c.ColumnWidth = AncLarg
> End With
> Recalcul
> Application.EnableEvents = True
> End Sub
> ------------
> et ma macro de verouillage :
> -----------
> ' Protection automatique de toutes les feuilles d'un classeur
> Sub PROTEGERFEUILLES()
> Dim Nombre As Integer
> Nombre = ActiveWorkbook.Sheets.Count
> Application.ScreenUpdating = False
> For I = 1 To Nombre
> Worksheets(I).Protect , DrawingObjects:=True
> ActiveSheet.EnableSelection = xlUnlockedCells
> AllowFormattingRows = True
> AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> Next I
> End Sub
> ---------------
dim largeur
ou
dim largeur as variant
columnwidth est une propriété dont le type est en variant
@+
On 14 oct, 10:27, Sunburn <Sunb...@discussions.microsoft.com> wrote:
> Bonjour,
> j'ai une macro qui me redimensionne la hauteur des lignes de
> certaines cellules, de façon automatique, et je voudrais verouiller toutes
> mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> non verouillées.
> Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> aux (****) quand je saisi du texte dans les cellules qui se redimensionnent
> automatiquement.
>
> Merci si vous pouvez m'aider..
> Yann.
>
> voilà ma macro pour la hauteur automatique des lignes
> ---------------
> 'hauteur des lignes automatique
> Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
> If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
> For I = 1 To Target.MergeArea.Columns.Count
> LARGEUR = LARGEUR + Target.ColumnWidth
> Next I
> Application.EnableEvents = False
> With ActiveSheet.UsedRange
> Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1)
> AncLarg = c.ColumnWidth
> c.ColumnWidth = LARGEUR '(*****************)
> c.WrapText = True
> c.Value = Target.Value
> Target.EntireRow.RowHeight = c.Height
> Var = c.Address
> c.Clear
> c.ColumnWidth = AncLarg
> End With
> Recalcul
> Application.EnableEvents = True
> End Sub
> ------------
> et ma macro de verouillage :
> -----------
> ' Protection automatique de toutes les feuilles d'un classeur
> Sub PROTEGERFEUILLES()
> Dim Nombre As Integer
> Nombre = ActiveWorkbook.Sheets.Count
> Application.ScreenUpdating = False
> For I = 1 To Nombre
> Worksheets(I).Protect , DrawingObjects:=True
> ActiveSheet.EnableSelection = xlUnlockedCells
> AllowFormattingRows = True
> AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> Next I
> End Sub
> ---------------
dim largeur
ou
dim largeur as variant
columnwidth est une propriété dont le type est en variant
@+
On 14 oct, 10:27, Sunburn wrote:
> Bonjour,
> j'ai une macro qui me redimensionne la hauteur des lignes de
> certaines cellules, de façon automatique, et je voudrais verouiller toutes
> mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> non verouillées.
> Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> aux (****) quand je saisi du texte dans les cellules qui se redimensionnent
> automatiquement.
>
> Merci si vous pouvez m'aider..
> Yann.
>
> voilà ma macro pour la hauteur automatique des lignes
> ---------------
> 'hauteur des lignes automatique
> Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
> If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
> For I = 1 To Target.MergeArea.Columns.Count
> LARGEUR = LARGEUR + Target.ColumnWidth
> Next I
> Application.EnableEvents = False
> With ActiveSheet.UsedRange
> Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1)
> AncLarg = c.ColumnWidth
> c.ColumnWidth = LARGEUR '(*****************)
> c.WrapText = True
> c.Value = Target.Value
> Target.EntireRow.RowHeight = c.Height
> Var = c.Address
> c.Clear
> c.ColumnWidth = AncLarg
> End With
> Recalcul
> Application.EnableEvents = True
> End Sub
> ------------
> et ma macro de verouillage :
> -----------
> ' Protection automatique de toutes les feuilles d'un classeur
> Sub PROTEGERFEUILLES()
> Dim Nombre As Integer
> Nombre = ActiveWorkbook.Sheets.Count
> Application.ScreenUpdating = False
> For I = 1 To Nombre
> Worksheets(I).Protect , DrawingObjects:=True
> ActiveSheet.EnableSelection = xlUnlockedCells
> AllowFormattingRows = True
> AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> Next I
> End Sub
> ---------------
Bonjour,
merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai u n peu de
mal.
Merci, Yann
"lSteph" a écrit :
> dim largeur
> ou
> dim largeur as variant
> columnwidth est une propriété dont le type est en variant
> @+
> On 14 oct, 10:27, Sunburn wrote:
> > Bonjour,
> > j'ai une macro qui me redimensionne la hauteur des lignes de
> > certaines cellules, de façon automatique, et je voudrais verouiller toutes
> > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> > non verouillées.
> > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> > aux (****) quand je saisi du texte dans les cellules qui se redimensi onnent
> > automatiquement.
> > Merci si vous pouvez m'aider..
> > Yann.
> > voilà ma macro pour la hauteur automatique des lignes
> > ---------------
> > 'hauteur des lignes automatique
> > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
> > If Target.WrapText = False Or Target.Count > 1 Then Exit Su b
> > For I = 1 To Target.MergeArea.Columns.Count
> > LARGEUR = LARGEUR + Target.ColumnWidth
> > Next I
> > Application.EnableEvents = False
> > With ActiveSheet.UsedRange
> > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address). Offset(1)
> > AncLarg = c.ColumnWidth
> > c.ColumnWidth = LARGEUR '(*****************)
> > c.WrapText = True
> > c.Value = Target.Value
> > Target.EntireRow.RowHeight = c.Height
> > Var = c.Address
> > c.Clear
> > c.ColumnWidth = AncLarg
> > End With
> > Recalcul
> > Application.EnableEvents = True
> > End Sub
> > ------------
> > et ma macro de verouillage :
> > -----------
> > ' Protection automatique de toutes les feuilles d'un classeur
> > Sub PROTEGERFEUILLES()
> > Dim Nombre As Integer
> > Nombre = ActiveWorkbook.Sheets.Count
> > Application.ScreenUpdating = False
> > For I = 1 To Nombre
> > Worksheets(I).Protect , DrawingObjects:=True
> > ActiveSheet.EnableSelection = xlUnlockedCells
> > AllowFormattingRows = True
> > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > Next I
> > End Sub
> > ---------------
Bonjour,
merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai u n peu de
mal.
Merci, Yann
"lSteph" a écrit :
> dim largeur
> ou
> dim largeur as variant
> columnwidth est une propriété dont le type est en variant
> @+
> On 14 oct, 10:27, Sunburn <Sunb...@discussions.microsoft.com> wrote:
> > Bonjour,
> > j'ai une macro qui me redimensionne la hauteur des lignes de
> > certaines cellules, de façon automatique, et je voudrais verouiller toutes
> > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> > non verouillées.
> > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> > aux (****) quand je saisi du texte dans les cellules qui se redimensi onnent
> > automatiquement.
> > Merci si vous pouvez m'aider..
> > Yann.
> > voilà ma macro pour la hauteur automatique des lignes
> > ---------------
> > 'hauteur des lignes automatique
> > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
> > If Target.WrapText = False Or Target.Count > 1 Then Exit Su b
> > For I = 1 To Target.MergeArea.Columns.Count
> > LARGEUR = LARGEUR + Target.ColumnWidth
> > Next I
> > Application.EnableEvents = False
> > With ActiveSheet.UsedRange
> > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address). Offset(1)
> > AncLarg = c.ColumnWidth
> > c.ColumnWidth = LARGEUR '(*****************)
> > c.WrapText = True
> > c.Value = Target.Value
> > Target.EntireRow.RowHeight = c.Height
> > Var = c.Address
> > c.Clear
> > c.ColumnWidth = AncLarg
> > End With
> > Recalcul
> > Application.EnableEvents = True
> > End Sub
> > ------------
> > et ma macro de verouillage :
> > -----------
> > ' Protection automatique de toutes les feuilles d'un classeur
> > Sub PROTEGERFEUILLES()
> > Dim Nombre As Integer
> > Nombre = ActiveWorkbook.Sheets.Count
> > Application.ScreenUpdating = False
> > For I = 1 To Nombre
> > Worksheets(I).Protect , DrawingObjects:=True
> > ActiveSheet.EnableSelection = xlUnlockedCells
> > AllowFormattingRows = True
> > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > Next I
> > End Sub
> > ---------------
Bonjour,
merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai u n peu de
mal.
Merci, Yann
"lSteph" a écrit :
> dim largeur
> ou
> dim largeur as variant
> columnwidth est une propriété dont le type est en variant
> @+
> On 14 oct, 10:27, Sunburn wrote:
> > Bonjour,
> > j'ai une macro qui me redimensionne la hauteur des lignes de
> > certaines cellules, de façon automatique, et je voudrais verouiller toutes
> > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> > non verouillées.
> > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> > aux (****) quand je saisi du texte dans les cellules qui se redimensi onnent
> > automatiquement.
> > Merci si vous pouvez m'aider..
> > Yann.
> > voilà ma macro pour la hauteur automatique des lignes
> > ---------------
> > 'hauteur des lignes automatique
> > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
> > If Target.WrapText = False Or Target.Count > 1 Then Exit Su b
> > For I = 1 To Target.MergeArea.Columns.Count
> > LARGEUR = LARGEUR + Target.ColumnWidth
> > Next I
> > Application.EnableEvents = False
> > With ActiveSheet.UsedRange
> > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address). Offset(1)
> > AncLarg = c.ColumnWidth
> > c.ColumnWidth = LARGEUR '(*****************)
> > c.WrapText = True
> > c.Value = Target.Value
> > Target.EntireRow.RowHeight = c.Height
> > Var = c.Address
> > c.Clear
> > c.ColumnWidth = AncLarg
> > End With
> > Recalcul
> > Application.EnableEvents = True
> > End Sub
> > ------------
> > et ma macro de verouillage :
> > -----------
> > ' Protection automatique de toutes les feuilles d'un classeur
> > Sub PROTEGERFEUILLES()
> > Dim Nombre As Integer
> > Nombre = ActiveWorkbook.Sheets.Count
> > Application.ScreenUpdating = False
> > For I = 1 To Nombre
> > Worksheets(I).Protect , DrawingObjects:=True
> > ActiveSheet.EnableSelection = xlUnlockedCells
> > AllowFormattingRows = True
> > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > Next I
> > End Sub
> > ---------------
dans la ligne ou tu as Dim LARGEUR As Double
enlève le As Double
On 14 oct, 11:16, Sunburn wrote:
> Bonjour,
> merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> mal.
> Merci, Yann
> "lSteph" a écrit :
> > dim largeur
> > ou
> > dim largeur as variant
> > columnwidth est une propriété dont le type est en variant
> > @+
> > On 14 oct, 10:27, Sunburn wrote:
> > > Bonjour,
> > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > certaines cellules, de façon automatique, et je voudrais verouill er toutes
> > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'a ux cellules
> > > non verouillées.
> > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mai s ça bug
> > > aux (****) quand je saisi du texte dans les cellules qui se redimen sionnent
> > > automatiquement.
> > > Merci si vous pouvez m'aider..
> > > Yann.
> > > voilà ma macro pour la hauteur automatique des lignes
> > > ---------------
> > > 'hauteur des lignes automatique
> > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target A s Range)
> > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLa rg As Single
> > > If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
> > > For I = 1 To Target.MergeArea.Columns.Count
> > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > Next I
> > > Application.EnableEvents = False
> > > With ActiveSheet.UsedRange
> > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address ).Offset(1)
> > > AncLarg = c.ColumnWidth
> > > c.ColumnWidth = LARGEUR '(*****************)
> > > c.WrapText = True
> > > c.Value = Target.Value
> > > Target.EntireRow.RowHeight = c.Height
> > > Var = c.Address
> > > c.Clear
> > > c.ColumnWidth = AncLarg
> > > End With
> > > Recalcul
> > > Application.EnableEvents = True
> > > End Sub
> > > ------------
> > > et ma macro de verouillage :
> > > -----------
> > > ' Protection automatique de toutes les feuilles d'un classeur
> > > Sub PROTEGERFEUILLES()
> > > Dim Nombre As Integer
> > > Nombre = ActiveWorkbook.Sheets.Count
> > > Application.ScreenUpdating = False
> > > For I = 1 To Nombre
> > > Worksheets(I).Protect , DrawingObjects:=True
> > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > AllowFormattingRows = True
> > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > Next I
> > > End Sub
> > > ---------------
dans la ligne ou tu as Dim LARGEUR As Double
enlève le As Double
On 14 oct, 11:16, Sunburn <Sunb...@discussions.microsoft.com> wrote:
> Bonjour,
> merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> mal.
> Merci, Yann
> "lSteph" a écrit :
> > dim largeur
> > ou
> > dim largeur as variant
> > columnwidth est une propriété dont le type est en variant
> > @+
> > On 14 oct, 10:27, Sunburn <Sunb...@discussions.microsoft.com> wrote:
> > > Bonjour,
> > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > certaines cellules, de façon automatique, et je voudrais verouill er toutes
> > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'a ux cellules
> > > non verouillées.
> > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mai s ça bug
> > > aux (****) quand je saisi du texte dans les cellules qui se redimen sionnent
> > > automatiquement.
> > > Merci si vous pouvez m'aider..
> > > Yann.
> > > voilà ma macro pour la hauteur automatique des lignes
> > > ---------------
> > > 'hauteur des lignes automatique
> > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target A s Range)
> > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLa rg As Single
> > > If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
> > > For I = 1 To Target.MergeArea.Columns.Count
> > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > Next I
> > > Application.EnableEvents = False
> > > With ActiveSheet.UsedRange
> > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address ).Offset(1)
> > > AncLarg = c.ColumnWidth
> > > c.ColumnWidth = LARGEUR '(*****************)
> > > c.WrapText = True
> > > c.Value = Target.Value
> > > Target.EntireRow.RowHeight = c.Height
> > > Var = c.Address
> > > c.Clear
> > > c.ColumnWidth = AncLarg
> > > End With
> > > Recalcul
> > > Application.EnableEvents = True
> > > End Sub
> > > ------------
> > > et ma macro de verouillage :
> > > -----------
> > > ' Protection automatique de toutes les feuilles d'un classeur
> > > Sub PROTEGERFEUILLES()
> > > Dim Nombre As Integer
> > > Nombre = ActiveWorkbook.Sheets.Count
> > > Application.ScreenUpdating = False
> > > For I = 1 To Nombre
> > > Worksheets(I).Protect , DrawingObjects:=True
> > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > AllowFormattingRows = True
> > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > Next I
> > > End Sub
> > > ---------------
dans la ligne ou tu as Dim LARGEUR As Double
enlève le As Double
On 14 oct, 11:16, Sunburn wrote:
> Bonjour,
> merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> mal.
> Merci, Yann
> "lSteph" a écrit :
> > dim largeur
> > ou
> > dim largeur as variant
> > columnwidth est une propriété dont le type est en variant
> > @+
> > On 14 oct, 10:27, Sunburn wrote:
> > > Bonjour,
> > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > certaines cellules, de façon automatique, et je voudrais verouill er toutes
> > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'a ux cellules
> > > non verouillées.
> > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mai s ça bug
> > > aux (****) quand je saisi du texte dans les cellules qui se redimen sionnent
> > > automatiquement.
> > > Merci si vous pouvez m'aider..
> > > Yann.
> > > voilà ma macro pour la hauteur automatique des lignes
> > > ---------------
> > > 'hauteur des lignes automatique
> > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target A s Range)
> > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLa rg As Single
> > > If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
> > > For I = 1 To Target.MergeArea.Columns.Count
> > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > Next I
> > > Application.EnableEvents = False
> > > With ActiveSheet.UsedRange
> > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address ).Offset(1)
> > > AncLarg = c.ColumnWidth
> > > c.ColumnWidth = LARGEUR '(*****************)
> > > c.WrapText = True
> > > c.Value = Target.Value
> > > Target.EntireRow.RowHeight = c.Height
> > > Var = c.Address
> > > c.Clear
> > > c.ColumnWidth = AncLarg
> > > End With
> > > Recalcul
> > > Application.EnableEvents = True
> > > End Sub
> > > ------------
> > > et ma macro de verouillage :
> > > -----------
> > > ' Protection automatique de toutes les feuilles d'un classeur
> > > Sub PROTEGERFEUILLES()
> > > Dim Nombre As Integer
> > > Nombre = ActiveWorkbook.Sheets.Count
> > > Application.ScreenUpdating = False
> > > For I = 1 To Nombre
> > > Worksheets(I).Protect , DrawingObjects:=True
> > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > AllowFormattingRows = True
> > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > Next I
> > > End Sub
> > > ---------------
..oupsss Ca doit venir d'autre chose car
en fait malgré l'erreur qui apparait sur le type j'ai testé
l'emploi de as long ne semble pas provoquer d'erreur
et être géré correctement au moins dans ceci:
Sub relarg()
Dim largeur As Long
largeur = [a1].ColumnWidth
Columns(1).ColumnWidth = largeur + 4
End Sub
'...à suivre
--
lSteph
(tout confus :((
On 14 oct, 11:58, lSteph wrote:
> dans la ligne ou tu as Dim LARGEUR As Double
> enlève le As Double
> On 14 oct, 11:16, Sunburn wrote:
> > Bonjour,
> > merci, mais je modifie quoi et où en fait ? car là comme ça, j' ai un peu de
> > mal.
> > Merci, Yann
> > "lSteph" a écrit :
> > > dim largeur
> > > ou
> > > dim largeur as variant
> > > columnwidth est une propriété dont le type est en variant
> > > @+
> > > On 14 oct, 10:27, Sunburn wrote :
> > > > Bonjour,
> > > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > > certaines cellules, de façon automatique, et je voudrais veroui ller toutes
> > > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu 'aux cellules
> > > > non verouillées.
> > > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), m ais ça bug
> > > > aux (****) quand je saisi du texte dans les cellules qui se redim ensionnent
> > > > automatiquement.
> > > > Merci si vous pouvez m'aider..
> > > > Yann.
> > > > voilà ma macro pour la hauteur automatique des lignes
> > > > ---------------
> > > > 'hauteur des lignes automatique
> > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, Anc Larg As Single
> > > > If Target.WrapText = False Or Target.Count > 1 Then Exi t Sub
> > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > Next I
> > > > Application.EnableEvents = False
> > > > With ActiveSheet.UsedRange
> > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Addre ss).Offset(1)
> > > > AncLarg = c.ColumnWidth
> > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > c.WrapText = True
> > > > c.Value = Target.Value
> > > > Target.EntireRow.RowHeight = c.Height
> > > > Var = c.Address
> > > > c.Clear
> > > > c.ColumnWidth = AncLarg
> > > > End With
> > > > Recalcul
> > > > Application.EnableEvents = True
> > > > End Sub
> > > > ------------
> > > > et ma macro de verouillage :
> > > > -----------
> > > > ' Protection automatique de toutes les feuilles d'un classeur
> > > > Sub PROTEGERFEUILLES()
> > > > Dim Nombre As Integer
> > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > Application.ScreenUpdating = False
> > > > For I = 1 To Nombre
> > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > AllowFormattingRows = True
> > > > AllowFormattingColumns = True 'rajouté, mais ça sert à ri en
> > > > Next I
> > > > End Sub
> > > > ---------------
..oupsss Ca doit venir d'autre chose car
en fait malgré l'erreur qui apparait sur le type j'ai testé
l'emploi de as long ne semble pas provoquer d'erreur
et être géré correctement au moins dans ceci:
Sub relarg()
Dim largeur As Long
largeur = [a1].ColumnWidth
Columns(1).ColumnWidth = largeur + 4
End Sub
'...à suivre
--
lSteph
(tout confus :((
On 14 oct, 11:58, lSteph <gmLSt...@gmail.com> wrote:
> dans la ligne ou tu as Dim LARGEUR As Double
> enlève le As Double
> On 14 oct, 11:16, Sunburn <Sunb...@discussions.microsoft.com> wrote:
> > Bonjour,
> > merci, mais je modifie quoi et où en fait ? car là comme ça, j' ai un peu de
> > mal.
> > Merci, Yann
> > "lSteph" a écrit :
> > > dim largeur
> > > ou
> > > dim largeur as variant
> > > columnwidth est une propriété dont le type est en variant
> > > @+
> > > On 14 oct, 10:27, Sunburn <Sunb...@discussions.microsoft.com> wrote :
> > > > Bonjour,
> > > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > > certaines cellules, de façon automatique, et je voudrais veroui ller toutes
> > > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu 'aux cellules
> > > > non verouillées.
> > > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), m ais ça bug
> > > > aux (****) quand je saisi du texte dans les cellules qui se redim ensionnent
> > > > automatiquement.
> > > > Merci si vous pouvez m'aider..
> > > > Yann.
> > > > voilà ma macro pour la hauteur automatique des lignes
> > > > ---------------
> > > > 'hauteur des lignes automatique
> > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, Anc Larg As Single
> > > > If Target.WrapText = False Or Target.Count > 1 Then Exi t Sub
> > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > Next I
> > > > Application.EnableEvents = False
> > > > With ActiveSheet.UsedRange
> > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Addre ss).Offset(1)
> > > > AncLarg = c.ColumnWidth
> > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > c.WrapText = True
> > > > c.Value = Target.Value
> > > > Target.EntireRow.RowHeight = c.Height
> > > > Var = c.Address
> > > > c.Clear
> > > > c.ColumnWidth = AncLarg
> > > > End With
> > > > Recalcul
> > > > Application.EnableEvents = True
> > > > End Sub
> > > > ------------
> > > > et ma macro de verouillage :
> > > > -----------
> > > > ' Protection automatique de toutes les feuilles d'un classeur
> > > > Sub PROTEGERFEUILLES()
> > > > Dim Nombre As Integer
> > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > Application.ScreenUpdating = False
> > > > For I = 1 To Nombre
> > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > AllowFormattingRows = True
> > > > AllowFormattingColumns = True 'rajouté, mais ça sert à ri en
> > > > Next I
> > > > End Sub
> > > > ---------------
..oupsss Ca doit venir d'autre chose car
en fait malgré l'erreur qui apparait sur le type j'ai testé
l'emploi de as long ne semble pas provoquer d'erreur
et être géré correctement au moins dans ceci:
Sub relarg()
Dim largeur As Long
largeur = [a1].ColumnWidth
Columns(1).ColumnWidth = largeur + 4
End Sub
'...à suivre
--
lSteph
(tout confus :((
On 14 oct, 11:58, lSteph wrote:
> dans la ligne ou tu as Dim LARGEUR As Double
> enlève le As Double
> On 14 oct, 11:16, Sunburn wrote:
> > Bonjour,
> > merci, mais je modifie quoi et où en fait ? car là comme ça, j' ai un peu de
> > mal.
> > Merci, Yann
> > "lSteph" a écrit :
> > > dim largeur
> > > ou
> > > dim largeur as variant
> > > columnwidth est une propriété dont le type est en variant
> > > @+
> > > On 14 oct, 10:27, Sunburn wrote :
> > > > Bonjour,
> > > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > > certaines cellules, de façon automatique, et je voudrais veroui ller toutes
> > > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu 'aux cellules
> > > > non verouillées.
> > > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), m ais ça bug
> > > > aux (****) quand je saisi du texte dans les cellules qui se redim ensionnent
> > > > automatiquement.
> > > > Merci si vous pouvez m'aider..
> > > > Yann.
> > > > voilà ma macro pour la hauteur automatique des lignes
> > > > ---------------
> > > > 'hauteur des lignes automatique
> > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, Anc Larg As Single
> > > > If Target.WrapText = False Or Target.Count > 1 Then Exi t Sub
> > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > Next I
> > > > Application.EnableEvents = False
> > > > With ActiveSheet.UsedRange
> > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Addre ss).Offset(1)
> > > > AncLarg = c.ColumnWidth
> > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > c.WrapText = True
> > > > c.Value = Target.Value
> > > > Target.EntireRow.RowHeight = c.Height
> > > > Var = c.Address
> > > > c.Clear
> > > > c.ColumnWidth = AncLarg
> > > > End With
> > > > Recalcul
> > > > Application.EnableEvents = True
> > > > End Sub
> > > > ------------
> > > > et ma macro de verouillage :
> > > > -----------
> > > > ' Protection automatique de toutes les feuilles d'un classeur
> > > > Sub PROTEGERFEUILLES()
> > > > Dim Nombre As Integer
> > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > Application.ScreenUpdating = False
> > > > For I = 1 To Nombre
> > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > AllowFormattingRows = True
> > > > AllowFormattingColumns = True 'rajouté, mais ça sert à ri en
> > > > Next I
> > > > End Sub
> > > > ---------------
...oupsss Ca doit venir d'autre chose car
en fait malgré l'erreur qui apparait sur le type j'ai testé
l'emploi de as long ne semble pas provoquer d'erreur
et être géré correctement au moins dans ceci:
Sub relarg()
Dim largeur As Long
largeur = [a1].ColumnWidth
Columns(1).ColumnWidth = largeur + 4
End Sub
'...à suivre
--
lSteph
(tout confus :((
On 14 oct, 11:58, lSteph wrote:
> dans la ligne ou tu as Dim LARGEUR As Double
> enlève le As Double
>
> On 14 oct, 11:16, Sunburn wrote:
>
> > Bonjour,
> > merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> > mal.
> > Merci, Yann
>
> > "lSteph" a écrit :
>
> > > dim largeur
> > > ou
> > > dim largeur as variant
>
> > > columnwidth est une propriété dont le type est en variant
>
> > > @+
>
> > > On 14 oct, 10:27, Sunburn wrote:
> > > > Bonjour,
> > > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > > certaines cellules, de façon automatique, et je voudrais verouiller toutes
> > > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> > > > non verouillées.
> > > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> > > > aux (****) quand je saisi du texte dans les cellules qui se redimensionnent
> > > > automatiquement.
>
> > > > Merci si vous pouvez m'aider..
> > > > Yann.
>
> > > > voilà ma macro pour la hauteur automatique des lignes
> > > > ---------------
> > > > 'hauteur des lignes automatique
> > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
> > > > If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
> > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > Next I
> > > > Application.EnableEvents = False
> > > > With ActiveSheet.UsedRange
> > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1)
> > > > AncLarg = c.ColumnWidth
> > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > c.WrapText = True
> > > > c.Value = Target.Value
> > > > Target.EntireRow.RowHeight = c.Height
> > > > Var = c.Address
> > > > c.Clear
> > > > c.ColumnWidth = AncLarg
> > > > End With
> > > > Recalcul
> > > > Application.EnableEvents = True
> > > > End Sub
> > > > ------------
> > > > et ma macro de verouillage :
> > > > -----------
> > > > ' Protection automatique de toutes les feuilles d'un classeur
> > > > Sub PROTEGERFEUILLES()
> > > > Dim Nombre As Integer
> > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > Application.ScreenUpdating = False
> > > > For I = 1 To Nombre
> > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > AllowFormattingRows = True
> > > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > > Next I
> > > > End Sub
> > > > ---------------
...oupsss Ca doit venir d'autre chose car
en fait malgré l'erreur qui apparait sur le type j'ai testé
l'emploi de as long ne semble pas provoquer d'erreur
et être géré correctement au moins dans ceci:
Sub relarg()
Dim largeur As Long
largeur = [a1].ColumnWidth
Columns(1).ColumnWidth = largeur + 4
End Sub
'...à suivre
--
lSteph
(tout confus :((
On 14 oct, 11:58, lSteph <gmLSt...@gmail.com> wrote:
> dans la ligne ou tu as Dim LARGEUR As Double
> enlève le As Double
>
> On 14 oct, 11:16, Sunburn <Sunb...@discussions.microsoft.com> wrote:
>
> > Bonjour,
> > merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> > mal.
> > Merci, Yann
>
> > "lSteph" a écrit :
>
> > > dim largeur
> > > ou
> > > dim largeur as variant
>
> > > columnwidth est une propriété dont le type est en variant
>
> > > @+
>
> > > On 14 oct, 10:27, Sunburn <Sunb...@discussions.microsoft.com> wrote:
> > > > Bonjour,
> > > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > > certaines cellules, de façon automatique, et je voudrais verouiller toutes
> > > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> > > > non verouillées.
> > > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> > > > aux (****) quand je saisi du texte dans les cellules qui se redimensionnent
> > > > automatiquement.
>
> > > > Merci si vous pouvez m'aider..
> > > > Yann.
>
> > > > voilà ma macro pour la hauteur automatique des lignes
> > > > ---------------
> > > > 'hauteur des lignes automatique
> > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
> > > > If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
> > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > Next I
> > > > Application.EnableEvents = False
> > > > With ActiveSheet.UsedRange
> > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1)
> > > > AncLarg = c.ColumnWidth
> > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > c.WrapText = True
> > > > c.Value = Target.Value
> > > > Target.EntireRow.RowHeight = c.Height
> > > > Var = c.Address
> > > > c.Clear
> > > > c.ColumnWidth = AncLarg
> > > > End With
> > > > Recalcul
> > > > Application.EnableEvents = True
> > > > End Sub
> > > > ------------
> > > > et ma macro de verouillage :
> > > > -----------
> > > > ' Protection automatique de toutes les feuilles d'un classeur
> > > > Sub PROTEGERFEUILLES()
> > > > Dim Nombre As Integer
> > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > Application.ScreenUpdating = False
> > > > For I = 1 To Nombre
> > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > AllowFormattingRows = True
> > > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > > Next I
> > > > End Sub
> > > > ---------------
...oupsss Ca doit venir d'autre chose car
en fait malgré l'erreur qui apparait sur le type j'ai testé
l'emploi de as long ne semble pas provoquer d'erreur
et être géré correctement au moins dans ceci:
Sub relarg()
Dim largeur As Long
largeur = [a1].ColumnWidth
Columns(1).ColumnWidth = largeur + 4
End Sub
'...à suivre
--
lSteph
(tout confus :((
On 14 oct, 11:58, lSteph wrote:
> dans la ligne ou tu as Dim LARGEUR As Double
> enlève le As Double
>
> On 14 oct, 11:16, Sunburn wrote:
>
> > Bonjour,
> > merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> > mal.
> > Merci, Yann
>
> > "lSteph" a écrit :
>
> > > dim largeur
> > > ou
> > > dim largeur as variant
>
> > > columnwidth est une propriété dont le type est en variant
>
> > > @+
>
> > > On 14 oct, 10:27, Sunburn wrote:
> > > > Bonjour,
> > > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > > certaines cellules, de façon automatique, et je voudrais verouiller toutes
> > > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> > > > non verouillées.
> > > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> > > > aux (****) quand je saisi du texte dans les cellules qui se redimensionnent
> > > > automatiquement.
>
> > > > Merci si vous pouvez m'aider..
> > > > Yann.
>
> > > > voilà ma macro pour la hauteur automatique des lignes
> > > > ---------------
> > > > 'hauteur des lignes automatique
> > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
> > > > If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
> > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > Next I
> > > > Application.EnableEvents = False
> > > > With ActiveSheet.UsedRange
> > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1)
> > > > AncLarg = c.ColumnWidth
> > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > c.WrapText = True
> > > > c.Value = Target.Value
> > > > Target.EntireRow.RowHeight = c.Height
> > > > Var = c.Address
> > > > c.Clear
> > > > c.ColumnWidth = AncLarg
> > > > End With
> > > > Recalcul
> > > > Application.EnableEvents = True
> > > > End Sub
> > > > ------------
> > > > et ma macro de verouillage :
> > > > -----------
> > > > ' Protection automatique de toutes les feuilles d'un classeur
> > > > Sub PROTEGERFEUILLES()
> > > > Dim Nombre As Integer
> > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > Application.ScreenUpdating = False
> > > > For I = 1 To Nombre
> > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > AllowFormattingRows = True
> > > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > > Next I
> > > > End Sub
> > > > ---------------
Oui, ça bug toujours chez moi....
C'est compliqué cette histoire... mais ne soit pas confus .. :-))
Yann
"lSteph" a écrit :
> ...oupsss Ca doit venir d'autre chose car
> en fait malgré l'erreur qui apparait sur le type j'ai testé
> l'emploi de as long ne semble pas provoquer d'erreur
> et être géré correctement au moins dans ceci:
> Sub relarg()
> Dim largeur As Long
> largeur = [a1].ColumnWidth
> Columns(1).ColumnWidth = largeur + 4
> End Sub
> '...à suivre
> --
> lSteph
> (tout confus :((
> On 14 oct, 11:58, lSteph wrote:
> > dans la ligne ou tu as Dim LARGEUR As Double
> > enlève le As Double
> > On 14 oct, 11:16, Sunburn wrote:
> > > Bonjour,
> > > merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> > > mal.
> > > Merci, Yann
> > > "lSteph" a écrit :
> > > > dim largeur
> > > > ou
> > > > dim largeur as variant
> > > > columnwidth est une propriété dont le type est en variant
> > > > @+
> > > > On 14 oct, 10:27, Sunburn wro te:
> > > > > Bonjour,
> > > > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > > > certaines cellules, de façon automatique, et je voudrais vero uiller toutes
> > > > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> > > > > non verouillées.
> > > > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> > > > > aux (****) quand je saisi du texte dans les cellules qui se red imensionnent
> > > > > automatiquement.
> > > > > Merci si vous pouvez m'aider..
> > > > > Yann.
> > > > > voilà ma macro pour la hauteur automatique des lignes
> > > > > ---------------
> > > > > 'hauteur des lignes automatique
> > > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Targ et As Range)
> > > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, A ncLarg As Single
> > > > > If Target.WrapText = False Or Target.Count > 1 Then E xit Sub
> > > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > > Next I
> > > > > Application.EnableEvents = False
> > > > > With ActiveSheet.UsedRange
> > > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Add ress).Offset(1)
> > > > > AncLarg = c.ColumnWidth
> > > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > > c.WrapText = True
> > > > > c.Value = Target.Value
> > > > > Target.EntireRow.RowHeight = c.Height
> > > > > Var = c.Address
> > > > > c.Clear
> > > > > c.ColumnWidth = AncLarg
> > > > > End With
> > > > > Recalcul
> > > > > Application.EnableEvents = True
> > > > > End Sub
> > > > > ------------
> > > > > et ma macro de verouillage :
> > > > > -----------
> > > > > ' Protection automatique de toutes les feuilles d'un classeur
> > > > > Sub PROTEGERFEUILLES()
> > > > > Dim Nombre As Integer
> > > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > > Application.ScreenUpdating = False
> > > > > For I = 1 To Nombre
> > > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > > AllowFormattingRows = True
> > > > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > > > Next I
> > > > > End Sub
> > > > > ---------------
Oui, ça bug toujours chez moi....
C'est compliqué cette histoire... mais ne soit pas confus .. :-))
Yann
"lSteph" a écrit :
> ...oupsss Ca doit venir d'autre chose car
> en fait malgré l'erreur qui apparait sur le type j'ai testé
> l'emploi de as long ne semble pas provoquer d'erreur
> et être géré correctement au moins dans ceci:
> Sub relarg()
> Dim largeur As Long
> largeur = [a1].ColumnWidth
> Columns(1).ColumnWidth = largeur + 4
> End Sub
> '...à suivre
> --
> lSteph
> (tout confus :((
> On 14 oct, 11:58, lSteph <gmLSt...@gmail.com> wrote:
> > dans la ligne ou tu as Dim LARGEUR As Double
> > enlève le As Double
> > On 14 oct, 11:16, Sunburn <Sunb...@discussions.microsoft.com> wrote:
> > > Bonjour,
> > > merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> > > mal.
> > > Merci, Yann
> > > "lSteph" a écrit :
> > > > dim largeur
> > > > ou
> > > > dim largeur as variant
> > > > columnwidth est une propriété dont le type est en variant
> > > > @+
> > > > On 14 oct, 10:27, Sunburn <Sunb...@discussions.microsoft.com> wro te:
> > > > > Bonjour,
> > > > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > > > certaines cellules, de façon automatique, et je voudrais vero uiller toutes
> > > > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> > > > > non verouillées.
> > > > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> > > > > aux (****) quand je saisi du texte dans les cellules qui se red imensionnent
> > > > > automatiquement.
> > > > > Merci si vous pouvez m'aider..
> > > > > Yann.
> > > > > voilà ma macro pour la hauteur automatique des lignes
> > > > > ---------------
> > > > > 'hauteur des lignes automatique
> > > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Targ et As Range)
> > > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, A ncLarg As Single
> > > > > If Target.WrapText = False Or Target.Count > 1 Then E xit Sub
> > > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > > Next I
> > > > > Application.EnableEvents = False
> > > > > With ActiveSheet.UsedRange
> > > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Add ress).Offset(1)
> > > > > AncLarg = c.ColumnWidth
> > > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > > c.WrapText = True
> > > > > c.Value = Target.Value
> > > > > Target.EntireRow.RowHeight = c.Height
> > > > > Var = c.Address
> > > > > c.Clear
> > > > > c.ColumnWidth = AncLarg
> > > > > End With
> > > > > Recalcul
> > > > > Application.EnableEvents = True
> > > > > End Sub
> > > > > ------------
> > > > > et ma macro de verouillage :
> > > > > -----------
> > > > > ' Protection automatique de toutes les feuilles d'un classeur
> > > > > Sub PROTEGERFEUILLES()
> > > > > Dim Nombre As Integer
> > > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > > Application.ScreenUpdating = False
> > > > > For I = 1 To Nombre
> > > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > > AllowFormattingRows = True
> > > > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > > > Next I
> > > > > End Sub
> > > > > ---------------
Oui, ça bug toujours chez moi....
C'est compliqué cette histoire... mais ne soit pas confus .. :-))
Yann
"lSteph" a écrit :
> ...oupsss Ca doit venir d'autre chose car
> en fait malgré l'erreur qui apparait sur le type j'ai testé
> l'emploi de as long ne semble pas provoquer d'erreur
> et être géré correctement au moins dans ceci:
> Sub relarg()
> Dim largeur As Long
> largeur = [a1].ColumnWidth
> Columns(1).ColumnWidth = largeur + 4
> End Sub
> '...à suivre
> --
> lSteph
> (tout confus :((
> On 14 oct, 11:58, lSteph wrote:
> > dans la ligne ou tu as Dim LARGEUR As Double
> > enlève le As Double
> > On 14 oct, 11:16, Sunburn wrote:
> > > Bonjour,
> > > merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> > > mal.
> > > Merci, Yann
> > > "lSteph" a écrit :
> > > > dim largeur
> > > > ou
> > > > dim largeur as variant
> > > > columnwidth est une propriété dont le type est en variant
> > > > @+
> > > > On 14 oct, 10:27, Sunburn wro te:
> > > > > Bonjour,
> > > > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > > > certaines cellules, de façon automatique, et je voudrais vero uiller toutes
> > > > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> > > > > non verouillées.
> > > > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> > > > > aux (****) quand je saisi du texte dans les cellules qui se red imensionnent
> > > > > automatiquement.
> > > > > Merci si vous pouvez m'aider..
> > > > > Yann.
> > > > > voilà ma macro pour la hauteur automatique des lignes
> > > > > ---------------
> > > > > 'hauteur des lignes automatique
> > > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Targ et As Range)
> > > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, A ncLarg As Single
> > > > > If Target.WrapText = False Or Target.Count > 1 Then E xit Sub
> > > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > > Next I
> > > > > Application.EnableEvents = False
> > > > > With ActiveSheet.UsedRange
> > > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Add ress).Offset(1)
> > > > > AncLarg = c.ColumnWidth
> > > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > > c.WrapText = True
> > > > > c.Value = Target.Value
> > > > > Target.EntireRow.RowHeight = c.Height
> > > > > Var = c.Address
> > > > > c.Clear
> > > > > c.ColumnWidth = AncLarg
> > > > > End With
> > > > > Recalcul
> > > > > Application.EnableEvents = True
> > > > > End Sub
> > > > > ------------
> > > > > et ma macro de verouillage :
> > > > > -----------
> > > > > ' Protection automatique de toutes les feuilles d'un classeur
> > > > > Sub PROTEGERFEUILLES()
> > > > > Dim Nombre As Integer
> > > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > > Application.ScreenUpdating = False
> > > > > For I = 1 To Nombre
> > > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > > AllowFormattingRows = True
> > > > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > > > Next I
> > > > > End Sub
> > > > > ---------------
Quel est le message erreur exact
On 14 oct, 15:01, Sunburn wrote:
> Oui, ça bug toujours chez moi....
> C'est compliqué cette histoire... mais ne soit pas confus .. :-))
> Yann
>
> "lSteph" a écrit :
>
> > ...oupsss Ca doit venir d'autre chose car
> > en fait malgré l'erreur qui apparait sur le type j'ai testé
> > l'emploi de as long ne semble pas provoquer d'erreur
> > et être géré correctement au moins dans ceci:
>
> > Sub relarg()
> > Dim largeur As Long
> > largeur = [a1].ColumnWidth
> > Columns(1).ColumnWidth = largeur + 4
> > End Sub
>
> > '...à suivre
>
> > --
> > lSteph
> > (tout confus :((
>
> > On 14 oct, 11:58, lSteph wrote:
> > > dans la ligne ou tu as Dim LARGEUR As Double
> > > enlève le As Double
>
> > > On 14 oct, 11:16, Sunburn wrote:
>
> > > > Bonjour,
> > > > merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> > > > mal.
> > > > Merci, Yann
>
> > > > "lSteph" a écrit :
>
> > > > > dim largeur
> > > > > ou
> > > > > dim largeur as variant
>
> > > > > columnwidth est une propriété dont le type est en variant
>
> > > > > @+
>
> > > > > On 14 oct, 10:27, Sunburn wrote:
> > > > > > Bonjour,
> > > > > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > > > > certaines cellules, de façon automatique, et je voudrais verouiller toutes
> > > > > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> > > > > > non verouillées.
> > > > > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> > > > > > aux (****) quand je saisi du texte dans les cellules qui se redimensionnent
> > > > > > automatiquement.
>
> > > > > > Merci si vous pouvez m'aider..
> > > > > > Yann.
>
> > > > > > voilà ma macro pour la hauteur automatique des lignes
> > > > > > ---------------
> > > > > > 'hauteur des lignes automatique
> > > > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > > > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
> > > > > > If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
> > > > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > > > Next I
> > > > > > Application.EnableEvents = False
> > > > > > With ActiveSheet.UsedRange
> > > > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1)
> > > > > > AncLarg = c.ColumnWidth
> > > > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > > > c.WrapText = True
> > > > > > c.Value = Target.Value
> > > > > > Target.EntireRow.RowHeight = c.Height
> > > > > > Var = c.Address
> > > > > > c.Clear
> > > > > > c.ColumnWidth = AncLarg
> > > > > > End With
> > > > > > Recalcul
> > > > > > Application.EnableEvents = True
> > > > > > End Sub
> > > > > > ------------
> > > > > > et ma macro de verouillage :
> > > > > > -----------
> > > > > > ' Protection automatique de toutes les feuilles d'un classeur
> > > > > > Sub PROTEGERFEUILLES()
> > > > > > Dim Nombre As Integer
> > > > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > > > Application.ScreenUpdating = False
> > > > > > For I = 1 To Nombre
> > > > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > > > AllowFormattingRows = True
> > > > > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > > > > Next I
> > > > > > End Sub
> > > > > > ---------------
Quel est le message erreur exact
On 14 oct, 15:01, Sunburn <Sunb...@discussions.microsoft.com> wrote:
> Oui, ça bug toujours chez moi....
> C'est compliqué cette histoire... mais ne soit pas confus .. :-))
> Yann
>
> "lSteph" a écrit :
>
> > ...oupsss Ca doit venir d'autre chose car
> > en fait malgré l'erreur qui apparait sur le type j'ai testé
> > l'emploi de as long ne semble pas provoquer d'erreur
> > et être géré correctement au moins dans ceci:
>
> > Sub relarg()
> > Dim largeur As Long
> > largeur = [a1].ColumnWidth
> > Columns(1).ColumnWidth = largeur + 4
> > End Sub
>
> > '...à suivre
>
> > --
> > lSteph
> > (tout confus :((
>
> > On 14 oct, 11:58, lSteph <gmLSt...@gmail.com> wrote:
> > > dans la ligne ou tu as Dim LARGEUR As Double
> > > enlève le As Double
>
> > > On 14 oct, 11:16, Sunburn <Sunb...@discussions.microsoft.com> wrote:
>
> > > > Bonjour,
> > > > merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> > > > mal.
> > > > Merci, Yann
>
> > > > "lSteph" a écrit :
>
> > > > > dim largeur
> > > > > ou
> > > > > dim largeur as variant
>
> > > > > columnwidth est une propriété dont le type est en variant
>
> > > > > @+
>
> > > > > On 14 oct, 10:27, Sunburn <Sunb...@discussions.microsoft.com> wrote:
> > > > > > Bonjour,
> > > > > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > > > > certaines cellules, de façon automatique, et je voudrais verouiller toutes
> > > > > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> > > > > > non verouillées.
> > > > > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> > > > > > aux (****) quand je saisi du texte dans les cellules qui se redimensionnent
> > > > > > automatiquement.
>
> > > > > > Merci si vous pouvez m'aider..
> > > > > > Yann.
>
> > > > > > voilà ma macro pour la hauteur automatique des lignes
> > > > > > ---------------
> > > > > > 'hauteur des lignes automatique
> > > > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > > > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
> > > > > > If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
> > > > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > > > Next I
> > > > > > Application.EnableEvents = False
> > > > > > With ActiveSheet.UsedRange
> > > > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1)
> > > > > > AncLarg = c.ColumnWidth
> > > > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > > > c.WrapText = True
> > > > > > c.Value = Target.Value
> > > > > > Target.EntireRow.RowHeight = c.Height
> > > > > > Var = c.Address
> > > > > > c.Clear
> > > > > > c.ColumnWidth = AncLarg
> > > > > > End With
> > > > > > Recalcul
> > > > > > Application.EnableEvents = True
> > > > > > End Sub
> > > > > > ------------
> > > > > > et ma macro de verouillage :
> > > > > > -----------
> > > > > > ' Protection automatique de toutes les feuilles d'un classeur
> > > > > > Sub PROTEGERFEUILLES()
> > > > > > Dim Nombre As Integer
> > > > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > > > Application.ScreenUpdating = False
> > > > > > For I = 1 To Nombre
> > > > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > > > AllowFormattingRows = True
> > > > > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > > > > Next I
> > > > > > End Sub
> > > > > > ---------------
Quel est le message erreur exact
On 14 oct, 15:01, Sunburn wrote:
> Oui, ça bug toujours chez moi....
> C'est compliqué cette histoire... mais ne soit pas confus .. :-))
> Yann
>
> "lSteph" a écrit :
>
> > ...oupsss Ca doit venir d'autre chose car
> > en fait malgré l'erreur qui apparait sur le type j'ai testé
> > l'emploi de as long ne semble pas provoquer d'erreur
> > et être géré correctement au moins dans ceci:
>
> > Sub relarg()
> > Dim largeur As Long
> > largeur = [a1].ColumnWidth
> > Columns(1).ColumnWidth = largeur + 4
> > End Sub
>
> > '...à suivre
>
> > --
> > lSteph
> > (tout confus :((
>
> > On 14 oct, 11:58, lSteph wrote:
> > > dans la ligne ou tu as Dim LARGEUR As Double
> > > enlève le As Double
>
> > > On 14 oct, 11:16, Sunburn wrote:
>
> > > > Bonjour,
> > > > merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> > > > mal.
> > > > Merci, Yann
>
> > > > "lSteph" a écrit :
>
> > > > > dim largeur
> > > > > ou
> > > > > dim largeur as variant
>
> > > > > columnwidth est une propriété dont le type est en variant
>
> > > > > @+
>
> > > > > On 14 oct, 10:27, Sunburn wrote:
> > > > > > Bonjour,
> > > > > > j'ai une macro qui me redimensionne la hauteur des lignes de
> > > > > > certaines cellules, de façon automatique, et je voudrais verouiller toutes
> > > > > > mes feuilles, de façon que l'utilisateur ne puisse accéder qu'aux cellules
> > > > > > non verouillées.
> > > > > > Donc j'ai ces divers macros (hauteur des lignes + verouillage), mais ça bug
> > > > > > aux (****) quand je saisi du texte dans les cellules qui se redimensionnent
> > > > > > automatiquement.
>
> > > > > > Merci si vous pouvez m'aider..
> > > > > > Yann.
>
> > > > > > voilà ma macro pour la hauteur automatique des lignes
> > > > > > ---------------
> > > > > > 'hauteur des lignes automatique
> > > > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > > > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
> > > > > > If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
> > > > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > > > Next I
> > > > > > Application.EnableEvents = False
> > > > > > With ActiveSheet.UsedRange
> > > > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1)
> > > > > > AncLarg = c.ColumnWidth
> > > > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > > > c.WrapText = True
> > > > > > c.Value = Target.Value
> > > > > > Target.EntireRow.RowHeight = c.Height
> > > > > > Var = c.Address
> > > > > > c.Clear
> > > > > > c.ColumnWidth = AncLarg
> > > > > > End With
> > > > > > Recalcul
> > > > > > Application.EnableEvents = True
> > > > > > End Sub
> > > > > > ------------
> > > > > > et ma macro de verouillage :
> > > > > > -----------
> > > > > > ' Protection automatique de toutes les feuilles d'un classeur
> > > > > > Sub PROTEGERFEUILLES()
> > > > > > Dim Nombre As Integer
> > > > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > > > Application.ScreenUpdating = False
> > > > > > For I = 1 To Nombre
> > > > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > > > AllowFormattingRows = True
> > > > > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > > > > Next I
> > > > > > End Sub
> > > > > > ---------------
en enlevant uniquement le "as double", il me met une erreur : "erreur
d'éxecution 1004 : impossible de définir la propriété columnwidth de la
classe range"
"lSteph" a écrit :
> Quel est le message erreur exact
> On 14 oct, 15:01, Sunburn wrote:
> > Oui, ça bug toujours chez moi....
> > C'est compliqué cette histoire... mais ne soit pas confus .. :-))
> > Yann
> > "lSteph" a écrit :
> > > ...oupsss Ca doit venir d'autre chose car
> > > en fait malgré l'erreur qui apparait sur le type j'ai testé
> > > l'emploi de as long ne semble pas provoquer d'erreur
> > > et être géré correctement au moins dans ceci:
> > > Sub relarg()
> > > Dim largeur As Long
> > > largeur = [a1].ColumnWidth
> > > Columns(1).ColumnWidth = largeur + 4
> > > End Sub
> > > '...à suivre
> > > --
> > > lSteph
> > > (tout confus :((
> > > On 14 oct, 11:58, lSteph wrote:
> > > > dans la ligne ou tu as Dim LARGEUR As Double
> > > > enlève le As Double
> > > > On 14 oct, 11:16, Sunburn wro te:
> > > > > Bonjour,
> > > > > merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> > > > > mal.
> > > > > Merci, Yann
> > > > > "lSteph" a écrit :
> > > > > > dim largeur
> > > > > > ou
> > > > > > dim largeur as variant
> > > > > > columnwidth est une propriété dont le type est en vari ant
> > > > > > @+
> > > > > > On 14 oct, 10:27, Sunburn wrote:
> > > > > > > Bonjour,
> > > > > > > j'ai une macro qui me redimensionne la hauteur des lignes d e
> > > > > > > certaines cellules, de façon automatique, et je voudrais verouiller toutes
> > > > > > > mes feuilles, de façon que l'utilisateur ne puisse accé der qu'aux cellules
> > > > > > > non verouillées.
> > > > > > > Donc j'ai ces divers macros (hauteur des lignes + verouilla ge), mais ça bug
> > > > > > > aux (****) quand je saisi du texte dans les cellules qui se redimensionnent
> > > > > > > automatiquement.
> > > > > > > Merci si vous pouvez m'aider..
> > > > > > > Yann.
> > > > > > > voilà ma macro pour la hauteur automatique des lignes
> > > > > > > ---------------
> > > > > > > 'hauteur des lignes automatique
> > > > > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > > > > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Singl e, AncLarg As Single
> > > > > > > If Target.WrapText = False Or Target.Count > 1 Th en Exit Sub
> > > > > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > > > > Next I
> > > > > > > Application.EnableEvents = False
> > > > > > > With ActiveSheet.UsedRange
> > > > > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count) .Address).Offset(1)
> > > > > > > AncLarg = c.ColumnWidth
> > > > > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > > > > c.WrapText = True
> > > > > > > c.Value = Target.Value
> > > > > > > Target.EntireRow.RowHeight = c.Height
> > > > > > > Var = c.Address
> > > > > > > c.Clear
> > > > > > > c.ColumnWidth = AncLarg
> > > > > > > End With
> > > > > > > Recalcul
> > > > > > > Application.EnableEvents = True
> > > > > > > End Sub
> > > > > > > ------------
> > > > > > > et ma macro de verouillage :
> > > > > > > -----------
> > > > > > > ' Protection automatique de toutes les feuilles d'un classe ur
> > > > > > > Sub PROTEGERFEUILLES()
> > > > > > > Dim Nombre As Integer
> > > > > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > > > > Application.ScreenUpdating = False
> > > > > > > For I = 1 To Nombre
> > > > > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > > > > AllowFormattingRows = True
> > > > > > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > > > > > Next I
> > > > > > > End Sub
> > > > > > > ---------------
en enlevant uniquement le "as double", il me met une erreur : "erreur
d'éxecution 1004 : impossible de définir la propriété columnwidth de la
classe range"
"lSteph" a écrit :
> Quel est le message erreur exact
> On 14 oct, 15:01, Sunburn <Sunb...@discussions.microsoft.com> wrote:
> > Oui, ça bug toujours chez moi....
> > C'est compliqué cette histoire... mais ne soit pas confus .. :-))
> > Yann
> > "lSteph" a écrit :
> > > ...oupsss Ca doit venir d'autre chose car
> > > en fait malgré l'erreur qui apparait sur le type j'ai testé
> > > l'emploi de as long ne semble pas provoquer d'erreur
> > > et être géré correctement au moins dans ceci:
> > > Sub relarg()
> > > Dim largeur As Long
> > > largeur = [a1].ColumnWidth
> > > Columns(1).ColumnWidth = largeur + 4
> > > End Sub
> > > '...à suivre
> > > --
> > > lSteph
> > > (tout confus :((
> > > On 14 oct, 11:58, lSteph <gmLSt...@gmail.com> wrote:
> > > > dans la ligne ou tu as Dim LARGEUR As Double
> > > > enlève le As Double
> > > > On 14 oct, 11:16, Sunburn <Sunb...@discussions.microsoft.com> wro te:
> > > > > Bonjour,
> > > > > merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> > > > > mal.
> > > > > Merci, Yann
> > > > > "lSteph" a écrit :
> > > > > > dim largeur
> > > > > > ou
> > > > > > dim largeur as variant
> > > > > > columnwidth est une propriété dont le type est en vari ant
> > > > > > @+
> > > > > > On 14 oct, 10:27, Sunburn <Sunb...@discussions.microsoft.com> wrote:
> > > > > > > Bonjour,
> > > > > > > j'ai une macro qui me redimensionne la hauteur des lignes d e
> > > > > > > certaines cellules, de façon automatique, et je voudrais verouiller toutes
> > > > > > > mes feuilles, de façon que l'utilisateur ne puisse accé der qu'aux cellules
> > > > > > > non verouillées.
> > > > > > > Donc j'ai ces divers macros (hauteur des lignes + verouilla ge), mais ça bug
> > > > > > > aux (****) quand je saisi du texte dans les cellules qui se redimensionnent
> > > > > > > automatiquement.
> > > > > > > Merci si vous pouvez m'aider..
> > > > > > > Yann.
> > > > > > > voilà ma macro pour la hauteur automatique des lignes
> > > > > > > ---------------
> > > > > > > 'hauteur des lignes automatique
> > > > > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > > > > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Singl e, AncLarg As Single
> > > > > > > If Target.WrapText = False Or Target.Count > 1 Th en Exit Sub
> > > > > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > > > > Next I
> > > > > > > Application.EnableEvents = False
> > > > > > > With ActiveSheet.UsedRange
> > > > > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count) .Address).Offset(1)
> > > > > > > AncLarg = c.ColumnWidth
> > > > > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > > > > c.WrapText = True
> > > > > > > c.Value = Target.Value
> > > > > > > Target.EntireRow.RowHeight = c.Height
> > > > > > > Var = c.Address
> > > > > > > c.Clear
> > > > > > > c.ColumnWidth = AncLarg
> > > > > > > End With
> > > > > > > Recalcul
> > > > > > > Application.EnableEvents = True
> > > > > > > End Sub
> > > > > > > ------------
> > > > > > > et ma macro de verouillage :
> > > > > > > -----------
> > > > > > > ' Protection automatique de toutes les feuilles d'un classe ur
> > > > > > > Sub PROTEGERFEUILLES()
> > > > > > > Dim Nombre As Integer
> > > > > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > > > > Application.ScreenUpdating = False
> > > > > > > For I = 1 To Nombre
> > > > > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > > > > AllowFormattingRows = True
> > > > > > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > > > > > Next I
> > > > > > > End Sub
> > > > > > > ---------------
en enlevant uniquement le "as double", il me met une erreur : "erreur
d'éxecution 1004 : impossible de définir la propriété columnwidth de la
classe range"
"lSteph" a écrit :
> Quel est le message erreur exact
> On 14 oct, 15:01, Sunburn wrote:
> > Oui, ça bug toujours chez moi....
> > C'est compliqué cette histoire... mais ne soit pas confus .. :-))
> > Yann
> > "lSteph" a écrit :
> > > ...oupsss Ca doit venir d'autre chose car
> > > en fait malgré l'erreur qui apparait sur le type j'ai testé
> > > l'emploi de as long ne semble pas provoquer d'erreur
> > > et être géré correctement au moins dans ceci:
> > > Sub relarg()
> > > Dim largeur As Long
> > > largeur = [a1].ColumnWidth
> > > Columns(1).ColumnWidth = largeur + 4
> > > End Sub
> > > '...à suivre
> > > --
> > > lSteph
> > > (tout confus :((
> > > On 14 oct, 11:58, lSteph wrote:
> > > > dans la ligne ou tu as Dim LARGEUR As Double
> > > > enlève le As Double
> > > > On 14 oct, 11:16, Sunburn wro te:
> > > > > Bonjour,
> > > > > merci, mais je modifie quoi et où en fait ? car là comme ça, j'ai un peu de
> > > > > mal.
> > > > > Merci, Yann
> > > > > "lSteph" a écrit :
> > > > > > dim largeur
> > > > > > ou
> > > > > > dim largeur as variant
> > > > > > columnwidth est une propriété dont le type est en vari ant
> > > > > > @+
> > > > > > On 14 oct, 10:27, Sunburn wrote:
> > > > > > > Bonjour,
> > > > > > > j'ai une macro qui me redimensionne la hauteur des lignes d e
> > > > > > > certaines cellules, de façon automatique, et je voudrais verouiller toutes
> > > > > > > mes feuilles, de façon que l'utilisateur ne puisse accé der qu'aux cellules
> > > > > > > non verouillées.
> > > > > > > Donc j'ai ces divers macros (hauteur des lignes + verouilla ge), mais ça bug
> > > > > > > aux (****) quand je saisi du texte dans les cellules qui se redimensionnent
> > > > > > > automatiquement.
> > > > > > > Merci si vous pouvez m'aider..
> > > > > > > Yann.
> > > > > > > voilà ma macro pour la hauteur automatique des lignes
> > > > > > > ---------------
> > > > > > > 'hauteur des lignes automatique
> > > > > > > Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
> > > > > > > Dim c As Range, LARGEUR As Double, HAUTEUR As Singl e, AncLarg As Single
> > > > > > > If Target.WrapText = False Or Target.Count > 1 Th en Exit Sub
> > > > > > > For I = 1 To Target.MergeArea.Columns.Count
> > > > > > > LARGEUR = LARGEUR + Target.ColumnWidth
> > > > > > > Next I
> > > > > > > Application.EnableEvents = False
> > > > > > > With ActiveSheet.UsedRange
> > > > > > > Set c = Range(.Cells(.Rows.Count, .Columns.Count) .Address).Offset(1)
> > > > > > > AncLarg = c.ColumnWidth
> > > > > > > c.ColumnWidth = LARGEUR '(*****************)
> > > > > > > c.WrapText = True
> > > > > > > c.Value = Target.Value
> > > > > > > Target.EntireRow.RowHeight = c.Height
> > > > > > > Var = c.Address
> > > > > > > c.Clear
> > > > > > > c.ColumnWidth = AncLarg
> > > > > > > End With
> > > > > > > Recalcul
> > > > > > > Application.EnableEvents = True
> > > > > > > End Sub
> > > > > > > ------------
> > > > > > > et ma macro de verouillage :
> > > > > > > -----------
> > > > > > > ' Protection automatique de toutes les feuilles d'un classe ur
> > > > > > > Sub PROTEGERFEUILLES()
> > > > > > > Dim Nombre As Integer
> > > > > > > Nombre = ActiveWorkbook.Sheets.Count
> > > > > > > Application.ScreenUpdating = False
> > > > > > > For I = 1 To Nombre
> > > > > > > Worksheets(I).Protect , DrawingObjects:=True
> > > > > > > ActiveSheet.EnableSelection = xlUnlockedCells
> > > > > > > AllowFormattingRows = True
> > > > > > > AllowFormattingColumns = True 'rajouté, mais ça sert à rien
> > > > > > > Next I
> > > > > > > End Sub
> > > > > > > ---------------