Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
--
Cordialement @+
JP
Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
--
Cordialement @+
JP
Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
--
Cordialement @+
JP
Bonsoir,
Pour effacer des plages pas besoin de sélectionner
voici exemple à adapter:
Sub clplg()
Dim i As Byte
For i = 5 To 16
With Worksheets(i).[f2:f9]
.ClearContents
.ClearComments
End With
Next
End Sub
'lStephBonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
Bonsoir,
Pour effacer des plages pas besoin de sélectionner
voici exemple à adapter:
Sub clplg()
Dim i As Byte
For i = 5 To 16
With Worksheets(i).[f2:f9]
.ClearContents
.ClearComments
End With
Next
End Sub
'lSteph
Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
Bonsoir,
Pour effacer des plages pas besoin de sélectionner
voici exemple à adapter:
Sub clplg()
Dim i As Byte
For i = 5 To 16
With Worksheets(i).[f2:f9]
.ClearContents
.ClearComments
End With
Next
End Sub
'lStephBonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
Bonsoir,
J'ai fait un essai et j'ai une erreur : la méthode select de la classe
range a échoué. Habituellement, quand je sélectionnais toutes les
feuilles en même temps et je j'effaçais les plages, j'avais une erreur
avec la méthode Shape (l'effacement des saisies était ok, mais pas les
commentaires) car manifestement il était impossible de sélectionner tous
les "boutons" en même temps (cf workbook_change) ..
Dans chaque feuille sélectionnée, j'ai ceci (attention c'est indigeste,
surtout pour un retour de vacances ;-) ) :
'---------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'------------------------------------------
' If Not Intersect(Target, [P9:AT110]) Is Nothing And Target.Count =
1 Then
' [mémoire].Interior.ColorIndex = xlNone
' ActiveWorkbook.Names.Add Name:="mémoire", RefersTo:="=" &
Range("c" & Target.Row).Address & ""
' Range("c" & Target.Row).Interior.ColorIndex = 3
' End If
'------------------------------------------
If Not Intersect(Target, [MoisInterdit]) Is Nothing And Target.Count
= 1 Then
Application.EnableEvents = False
compteur = 0
For Each com In Range("p" & Target.Row & ":at" & Target.Row)
If Len(com.NoteText) Then compteur = 1: Exit For
Next
If Application.Sum(Range("f" & Target.Row & ":" & "m" &
Target.Row)) > 0 Or compteur = 1 Then
Target = [mémo]
MsgBox "Vous ne devez pas supprimer ce Nom !" &
Chr(10) & Chr(10) & "(La ligne contient des informations ...)", vbOKOnly
+ vbInformation, "Attention !"
End If
End If
Application.EnableEvents = True
ActiveSheet.Shapes("Bouton 2").Select
Selection.Characters.Text = Range("AW3").Value
Range("F6").Select 'désélectionne le bouton !
ActiveSheet.Protect Password:="", DrawingObjects:úlse,
Contents:=True, Scenarios:úlse
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub
'------------------------------------------------------
@+ ?
JP
"LSteph" a écrit dans le message de news:
OL$Bonsoir,
Pour effacer des plages pas besoin de sélectionner
voici exemple à adapter:
Sub clplg()
Dim i As Byte
For i = 5 To 16
With Worksheets(i).[f2:f9]
.ClearContents
.ClearComments
End With
Next
End Sub
'lStephBonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je
n'y arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de
sélectionner tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
Bonsoir,
J'ai fait un essai et j'ai une erreur : la méthode select de la classe
range a échoué. Habituellement, quand je sélectionnais toutes les
feuilles en même temps et je j'effaçais les plages, j'avais une erreur
avec la méthode Shape (l'effacement des saisies était ok, mais pas les
commentaires) car manifestement il était impossible de sélectionner tous
les "boutons" en même temps (cf workbook_change) ..
Dans chaque feuille sélectionnée, j'ai ceci (attention c'est indigeste,
surtout pour un retour de vacances ;-) ) :
'---------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'------------------------------------------
' If Not Intersect(Target, [P9:AT110]) Is Nothing And Target.Count =
1 Then
' [mémoire].Interior.ColorIndex = xlNone
' ActiveWorkbook.Names.Add Name:="mémoire", RefersTo:="=" &
Range("c" & Target.Row).Address & ""
' Range("c" & Target.Row).Interior.ColorIndex = 3
' End If
'------------------------------------------
If Not Intersect(Target, [MoisInterdit]) Is Nothing And Target.Count
= 1 Then
Application.EnableEvents = False
compteur = 0
For Each com In Range("p" & Target.Row & ":at" & Target.Row)
If Len(com.NoteText) Then compteur = 1: Exit For
Next
If Application.Sum(Range("f" & Target.Row & ":" & "m" &
Target.Row)) > 0 Or compteur = 1 Then
Target = [mémo]
MsgBox "Vous ne devez pas supprimer ce Nom !" &
Chr(10) & Chr(10) & "(La ligne contient des informations ...)", vbOKOnly
+ vbInformation, "Attention !"
End If
End If
Application.EnableEvents = True
ActiveSheet.Shapes("Bouton 2").Select
Selection.Characters.Text = Range("AW3").Value
Range("F6").Select 'désélectionne le bouton !
ActiveSheet.Protect Password:="", DrawingObjects:úlse,
Contents:=True, Scenarios:úlse
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub
'------------------------------------------------------
@+ ?
JP
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
OL$bA415HHA.5160@TK2MSFTNGP05.phx.gbl...
Bonsoir,
Pour effacer des plages pas besoin de sélectionner
voici exemple à adapter:
Sub clplg()
Dim i As Byte
For i = 5 To 16
With Worksheets(i).[f2:f9]
.ClearContents
.ClearComments
End With
Next
End Sub
'lSteph
Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je
n'y arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de
sélectionner tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
Bonsoir,
J'ai fait un essai et j'ai une erreur : la méthode select de la classe
range a échoué. Habituellement, quand je sélectionnais toutes les
feuilles en même temps et je j'effaçais les plages, j'avais une erreur
avec la méthode Shape (l'effacement des saisies était ok, mais pas les
commentaires) car manifestement il était impossible de sélectionner tous
les "boutons" en même temps (cf workbook_change) ..
Dans chaque feuille sélectionnée, j'ai ceci (attention c'est indigeste,
surtout pour un retour de vacances ;-) ) :
'---------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'------------------------------------------
' If Not Intersect(Target, [P9:AT110]) Is Nothing And Target.Count =
1 Then
' [mémoire].Interior.ColorIndex = xlNone
' ActiveWorkbook.Names.Add Name:="mémoire", RefersTo:="=" &
Range("c" & Target.Row).Address & ""
' Range("c" & Target.Row).Interior.ColorIndex = 3
' End If
'------------------------------------------
If Not Intersect(Target, [MoisInterdit]) Is Nothing And Target.Count
= 1 Then
Application.EnableEvents = False
compteur = 0
For Each com In Range("p" & Target.Row & ":at" & Target.Row)
If Len(com.NoteText) Then compteur = 1: Exit For
Next
If Application.Sum(Range("f" & Target.Row & ":" & "m" &
Target.Row)) > 0 Or compteur = 1 Then
Target = [mémo]
MsgBox "Vous ne devez pas supprimer ce Nom !" &
Chr(10) & Chr(10) & "(La ligne contient des informations ...)", vbOKOnly
+ vbInformation, "Attention !"
End If
End If
Application.EnableEvents = True
ActiveSheet.Shapes("Bouton 2").Select
Selection.Characters.Text = Range("AW3").Value
Range("F6").Select 'désélectionne le bouton !
ActiveSheet.Protect Password:="", DrawingObjects:úlse,
Contents:=True, Scenarios:úlse
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub
'------------------------------------------------------
@+ ?
JP
"LSteph" a écrit dans le message de news:
OL$Bonsoir,
Pour effacer des plages pas besoin de sélectionner
voici exemple à adapter:
Sub clplg()
Dim i As Byte
For i = 5 To 16
With Worksheets(i).[f2:f9]
.ClearContents
.ClearComments
End With
Next
End Sub
'lStephBonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je
n'y arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de
sélectionner tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
Bonsoir,
J'ai fait un essai et j'ai une erreur : la méthode select de la classe
range a échoué. Habituellement, quand je sélectionnais toutes les
feuilles en même temps et je j'effaçais les plages, j'avais une erreur
avec la méthode Shape (l'effacement des saisies était ok, mais pas les
commentaires) car manifestement il était impossible de sélectionner tous
les "boutons" en même temps (cf workbook_change) ..
Dans chaque feuille sélectionnée, j'ai ceci (attention c'est indigeste,
surtout pour un retour de vacances ;-) ) :
'---------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'------------------------------------------
' If Not Intersect(Target, [P9:AT110]) Is Nothing And Target.Count =
1 Then
' [mémoire].Interior.ColorIndex = xlNone
' ActiveWorkbook.Names.Add Name:="mémoire", RefersTo:="=" &
Range("c" & Target.Row).Address & ""
' Range("c" & Target.Row).Interior.ColorIndex = 3
' End If
'------------------------------------------
If Not Intersect(Target, [MoisInterdit]) Is Nothing And Target.Count
= 1 Then
Application.EnableEvents = False
compteur = 0
For Each com In Range("p" & Target.Row & ":at" & Target.Row)
If Len(com.NoteText) Then compteur = 1: Exit For
Next
If Application.Sum(Range("f" & Target.Row & ":" & "m" &
Target.Row)) > 0 Or compteur = 1 Then
Target = [mémo]
MsgBox "Vous ne devez pas supprimer ce Nom !" &
Chr(10) & Chr(10) & "(La ligne contient des informations ...)", vbOKOnly
+ vbInformation, "Attention !"
End If
End If
Application.EnableEvents = True
ActiveSheet.Shapes("Bouton 2").Select
Selection.Characters.Text = Range("AW3").Value
Range("F6").Select 'désélectionne le bouton !
ActiveSheet.Protect Password:="", DrawingObjects:úlse,
Contents:=True, Scenarios:úlse
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub
'------------------------------------------------------
@+ ?
JP
"LSteph" a écrit dans le message de news:
OL$Bonsoir,
Pour effacer des plages pas besoin de sélectionner
voici exemple à adapter:
Sub clplg()
Dim i As Byte
For i = 5 To 16
With Worksheets(i).[f2:f9]
.ClearContents
.ClearComments
End With
Next
End Sub
'lStephBonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je
n'y arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de
sélectionner tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
Bonsoir,
J'ai fait un essai et j'ai une erreur : la méthode select de la classe
range a échoué. Habituellement, quand je sélectionnais toutes les
feuilles en même temps et je j'effaçais les plages, j'avais une erreur
avec la méthode Shape (l'effacement des saisies était ok, mais pas les
commentaires) car manifestement il était impossible de sélectionner tous
les "boutons" en même temps (cf workbook_change) ..
Dans chaque feuille sélectionnée, j'ai ceci (attention c'est indigeste,
surtout pour un retour de vacances ;-) ) :
'---------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'------------------------------------------
' If Not Intersect(Target, [P9:AT110]) Is Nothing And Target.Count =
1 Then
' [mémoire].Interior.ColorIndex = xlNone
' ActiveWorkbook.Names.Add Name:="mémoire", RefersTo:="=" &
Range("c" & Target.Row).Address & ""
' Range("c" & Target.Row).Interior.ColorIndex = 3
' End If
'------------------------------------------
If Not Intersect(Target, [MoisInterdit]) Is Nothing And Target.Count
= 1 Then
Application.EnableEvents = False
compteur = 0
For Each com In Range("p" & Target.Row & ":at" & Target.Row)
If Len(com.NoteText) Then compteur = 1: Exit For
Next
If Application.Sum(Range("f" & Target.Row & ":" & "m" &
Target.Row)) > 0 Or compteur = 1 Then
Target = [mémo]
MsgBox "Vous ne devez pas supprimer ce Nom !" &
Chr(10) & Chr(10) & "(La ligne contient des informations ...)", vbOKOnly
+ vbInformation, "Attention !"
End If
End If
Application.EnableEvents = True
ActiveSheet.Shapes("Bouton 2").Select
Selection.Characters.Text = Range("AW3").Value
Range("F6").Select 'désélectionne le bouton !
ActiveSheet.Protect Password:="", DrawingObjects:úlse,
Contents:=True, Scenarios:úlse
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub
'------------------------------------------------------
@+ ?
JP
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
OL$bA415HHA.5160@TK2MSFTNGP05.phx.gbl...
Bonsoir,
Pour effacer des plages pas besoin de sélectionner
voici exemple à adapter:
Sub clplg()
Dim i As Byte
For i = 5 To 16
With Worksheets(i).[f2:f9]
.ClearContents
.ClearComments
End With
Next
End Sub
'lSteph
Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je
n'y arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de
sélectionner tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
Bonsoir,
J'ai fait un essai et j'ai une erreur : la méthode select de la classe
range a échoué. Habituellement, quand je sélectionnais toutes les
feuilles en même temps et je j'effaçais les plages, j'avais une erreur
avec la méthode Shape (l'effacement des saisies était ok, mais pas les
commentaires) car manifestement il était impossible de sélectionner tous
les "boutons" en même temps (cf workbook_change) ..
Dans chaque feuille sélectionnée, j'ai ceci (attention c'est indigeste,
surtout pour un retour de vacances ;-) ) :
'---------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'------------------------------------------
' If Not Intersect(Target, [P9:AT110]) Is Nothing And Target.Count =
1 Then
' [mémoire].Interior.ColorIndex = xlNone
' ActiveWorkbook.Names.Add Name:="mémoire", RefersTo:="=" &
Range("c" & Target.Row).Address & ""
' Range("c" & Target.Row).Interior.ColorIndex = 3
' End If
'------------------------------------------
If Not Intersect(Target, [MoisInterdit]) Is Nothing And Target.Count
= 1 Then
Application.EnableEvents = False
compteur = 0
For Each com In Range("p" & Target.Row & ":at" & Target.Row)
If Len(com.NoteText) Then compteur = 1: Exit For
Next
If Application.Sum(Range("f" & Target.Row & ":" & "m" &
Target.Row)) > 0 Or compteur = 1 Then
Target = [mémo]
MsgBox "Vous ne devez pas supprimer ce Nom !" &
Chr(10) & Chr(10) & "(La ligne contient des informations ...)", vbOKOnly
+ vbInformation, "Attention !"
End If
End If
Application.EnableEvents = True
ActiveSheet.Shapes("Bouton 2").Select
Selection.Characters.Text = Range("AW3").Value
Range("F6").Select 'désélectionne le bouton !
ActiveSheet.Protect Password:="", DrawingObjects:úlse,
Contents:=True, Scenarios:úlse
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub
'------------------------------------------------------
@+ ?
JP
"LSteph" a écrit dans le message de news:
OL$Bonsoir,
Pour effacer des plages pas besoin de sélectionner
voici exemple à adapter:
Sub clplg()
Dim i As Byte
For i = 5 To 16
With Worksheets(i).[f2:f9]
.ClearContents
.ClearComments
End With
Next
End Sub
'lStephBonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je
n'y arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de
sélectionner tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
Bonsoir,
Je propose :
Sub sélectMois()
Application.DisplayAlerts = False
application.enableeventsúlse
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
Next i
application.enableevents=true
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
Philippe.R
"j-pascal" a écrit dans le message de
news:Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
--
Cordialement @+
JP
Bonsoir,
Je propose :
Sub sélectMois()
Application.DisplayAlerts = False
application.enableeventsúlse
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
Next i
application.enableevents=true
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
Philippe.R
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de
news:u7YH3p15HHA.5268@TK2MSFTNGP02.phx.gbl...
Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
--
Cordialement @+
JP
Bonsoir,
Je propose :
Sub sélectMois()
Application.DisplayAlerts = False
application.enableeventsúlse
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
Next i
application.enableevents=true
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
Philippe.R
"j-pascal" a écrit dans le message de
news:Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
--
Cordialement @+
JP
Bonsoir,
C'est (presque) parfait !
En fait, ça marche si la procédure est lancée alors que j'ai activé
(sélectionné) une des 12 feuilles correspondant aux mois à effacer
(sheets(5) à sheets(16)) sinon j'ai le message :
"La méthode de la classe Range a échoué" !
Par ailleurs, j'ai essayé de désélectionner toutes les feuilles avec
l'enregistrement automatique et je vois que cela consiste à sélectionner
une feuille ! J'imagine que c'est donc ce qu'il y a de "mieux" à faire !?
En résumé :
'-----------------------------------------------
Sub sélectMois()
Application.DisplayAlerts = False
Application.EnableEvents = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
'------------------------------
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("P9").Select
'------------------------------
Next i
Application.EnableEvents = True
Application.DisplayAlerts = True
Sheets("toto").Select
End Sub
'-----------------------------------------------
Merci, avec la (petite) modif que j'ai faite, tout fonctionne à
merveille.. Il ne me reste plus qu'à trouvé un petit bout de code que j'ai
utilisé il y a qq temps pour avoir un Shape qui annonce à l'utilisateur
que la macro est en train de tourner ...
Merci encore,
JP
"Philippe.R" <AS_rauphil_at_wanadoo.fr> a écrit dans le message de news:Bonsoir,
Je propose :
Sub sélectMois()
Application.DisplayAlerts = False
application.enableeventsúlse
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
Next i
application.enableevents=true
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
Philippe.R
"j-pascal" a écrit dans le message de
news:Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
--
Cordialement @+
JP
Bonsoir,
C'est (presque) parfait !
En fait, ça marche si la procédure est lancée alors que j'ai activé
(sélectionné) une des 12 feuilles correspondant aux mois à effacer
(sheets(5) à sheets(16)) sinon j'ai le message :
"La méthode de la classe Range a échoué" !
Par ailleurs, j'ai essayé de désélectionner toutes les feuilles avec
l'enregistrement automatique et je vois que cela consiste à sélectionner
une feuille ! J'imagine que c'est donc ce qu'il y a de "mieux" à faire !?
En résumé :
'-----------------------------------------------
Sub sélectMois()
Application.DisplayAlerts = False
Application.EnableEvents = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
'------------------------------
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("P9").Select
'------------------------------
Next i
Application.EnableEvents = True
Application.DisplayAlerts = True
Sheets("toto").Select
End Sub
'-----------------------------------------------
Merci, avec la (petite) modif que j'ai faite, tout fonctionne à
merveille.. Il ne me reste plus qu'à trouvé un petit bout de code que j'ai
utilisé il y a qq temps pour avoir un Shape qui annonce à l'utilisateur
que la macro est en train de tourner ...
Merci encore,
JP
"Philippe.R" <AS_rauphil_at_wanadoo.fr> a écrit dans le message de news:
uVtlU815HHA.3740@TK2MSFTNGP02.phx.gbl...
Bonsoir,
Je propose :
Sub sélectMois()
Application.DisplayAlerts = False
application.enableeventsúlse
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
Next i
application.enableevents=true
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
Philippe.R
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de
news:u7YH3p15HHA.5268@TK2MSFTNGP02.phx.gbl...
Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
--
Cordialement @+
JP
Bonsoir,
C'est (presque) parfait !
En fait, ça marche si la procédure est lancée alors que j'ai activé
(sélectionné) une des 12 feuilles correspondant aux mois à effacer
(sheets(5) à sheets(16)) sinon j'ai le message :
"La méthode de la classe Range a échoué" !
Par ailleurs, j'ai essayé de désélectionner toutes les feuilles avec
l'enregistrement automatique et je vois que cela consiste à sélectionner
une feuille ! J'imagine que c'est donc ce qu'il y a de "mieux" à faire !?
En résumé :
'-----------------------------------------------
Sub sélectMois()
Application.DisplayAlerts = False
Application.EnableEvents = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
'------------------------------
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("P9").Select
'------------------------------
Next i
Application.EnableEvents = True
Application.DisplayAlerts = True
Sheets("toto").Select
End Sub
'-----------------------------------------------
Merci, avec la (petite) modif que j'ai faite, tout fonctionne à
merveille.. Il ne me reste plus qu'à trouvé un petit bout de code que j'ai
utilisé il y a qq temps pour avoir un Shape qui annonce à l'utilisateur
que la macro est en train de tourner ...
Merci encore,
JP
"Philippe.R" <AS_rauphil_at_wanadoo.fr> a écrit dans le message de news:Bonsoir,
Je propose :
Sub sélectMois()
Application.DisplayAlerts = False
application.enableeventsúlse
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
Next i
application.enableevents=true
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
Philippe.R
"j-pascal" a écrit dans le message de
news:Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de sélectionner
tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
--
Cordialement @+
JP
Bonjour,
Essaie comme ceci :
J'ai cru comprendre que certaines lignes ('ajouté % Worksheet_Change !)
étaient là pour gérer le lancement incongru d'événementielles ; si c'est
bien le cas, elles ne sont plus utiles du fait de l'instruction
Application.EnableEvents = False ; si au contraire, tu souhaites leur
exécution, il faut ajouter l'instruction doevents avant la sélection de P9
Sub sélectMois()
Application.DisplayAlerts = False
Application.EnableEvents = False
For i = Sheets.Count To 5 Step -1
Sheets(i).Select
'les actions sur tes plages à effacer ...
'------------------------------
Range("MoisPlageSaisies").ClearContents
Range("MoisInterdit").ClearContents
Range("MoisPlageSaisies").ClearComments
'doevents
Range("P9").Select
'------------------------------
Next i
Application.EnableEvents = True
Application.DisplayAlerts = True
Sheets("toto").Select
End Sub
--
Avec plaisir
Philippe.R
"j-pascal" a écrit dans le message de
news:%Bonsoir,
C'est (presque) parfait !
En fait, ça marche si la procédure est lancée alors que j'ai activé
(sélectionné) une des 12 feuilles correspondant aux mois à effacer
(sheets(5) à sheets(16)) sinon j'ai le message :
"La méthode de la classe Range a échoué" !
Par ailleurs, j'ai essayé de désélectionner toutes les feuilles avec
l'enregistrement automatique et je vois que cela consiste à sélectionner
une feuille ! J'imagine que c'est donc ce qu'il y a de "mieux" à faire !?
En résumé :
'-----------------------------------------------
Sub sélectMois()
Application.DisplayAlerts = False
Application.EnableEvents = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
'------------------------------
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("P9").Select
'------------------------------
Next i
Application.EnableEvents = True
Application.DisplayAlerts = True
Sheets("toto").Select
End Sub
'-----------------------------------------------
Merci, avec la (petite) modif que j'ai faite, tout fonctionne à
merveille.. Il ne me reste plus qu'à trouvé un petit bout de code que
j'ai utilisé il y a qq temps pour avoir un Shape qui annonce à
l'utilisateur que la macro est en train de tourner ...
Merci encore,
JP
"Philippe.R" <AS_rauphil_at_wanadoo.fr> a écrit dans le message de news:Bonsoir,
Je propose :
Sub sélectMois()
Application.DisplayAlerts = False
application.enableeventsúlse
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
Next i
application.enableevents=true
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
Philippe.R
"j-pascal" a écrit dans le message de
news:Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de
sélectionner tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
--
Cordialement @+
JP
Bonjour,
Essaie comme ceci :
J'ai cru comprendre que certaines lignes ('ajouté % Worksheet_Change !)
étaient là pour gérer le lancement incongru d'événementielles ; si c'est
bien le cas, elles ne sont plus utiles du fait de l'instruction
Application.EnableEvents = False ; si au contraire, tu souhaites leur
exécution, il faut ajouter l'instruction doevents avant la sélection de P9
Sub sélectMois()
Application.DisplayAlerts = False
Application.EnableEvents = False
For i = Sheets.Count To 5 Step -1
Sheets(i).Select
'les actions sur tes plages à effacer ...
'------------------------------
Range("MoisPlageSaisies").ClearContents
Range("MoisInterdit").ClearContents
Range("MoisPlageSaisies").ClearComments
'doevents
Range("P9").Select
'------------------------------
Next i
Application.EnableEvents = True
Application.DisplayAlerts = True
Sheets("toto").Select
End Sub
--
Avec plaisir
Philippe.R
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de
news:%23NB43W25HHA.4712@TK2MSFTNGP04.phx.gbl...
Bonsoir,
C'est (presque) parfait !
En fait, ça marche si la procédure est lancée alors que j'ai activé
(sélectionné) une des 12 feuilles correspondant aux mois à effacer
(sheets(5) à sheets(16)) sinon j'ai le message :
"La méthode de la classe Range a échoué" !
Par ailleurs, j'ai essayé de désélectionner toutes les feuilles avec
l'enregistrement automatique et je vois que cela consiste à sélectionner
une feuille ! J'imagine que c'est donc ce qu'il y a de "mieux" à faire !?
En résumé :
'-----------------------------------------------
Sub sélectMois()
Application.DisplayAlerts = False
Application.EnableEvents = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
'------------------------------
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("P9").Select
'------------------------------
Next i
Application.EnableEvents = True
Application.DisplayAlerts = True
Sheets("toto").Select
End Sub
'-----------------------------------------------
Merci, avec la (petite) modif que j'ai faite, tout fonctionne à
merveille.. Il ne me reste plus qu'à trouvé un petit bout de code que
j'ai utilisé il y a qq temps pour avoir un Shape qui annonce à
l'utilisateur que la macro est en train de tourner ...
Merci encore,
JP
"Philippe.R" <AS_rauphil_at_wanadoo.fr> a écrit dans le message de news:
uVtlU815HHA.3740@TK2MSFTNGP02.phx.gbl...
Bonsoir,
Je propose :
Sub sélectMois()
Application.DisplayAlerts = False
application.enableeventsúlse
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
Next i
application.enableevents=true
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
Philippe.R
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de
news:u7YH3p15HHA.5268@TK2MSFTNGP02.phx.gbl...
Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de
sélectionner tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
--
Cordialement @+
JP
Bonjour,
Essaie comme ceci :
J'ai cru comprendre que certaines lignes ('ajouté % Worksheet_Change !)
étaient là pour gérer le lancement incongru d'événementielles ; si c'est
bien le cas, elles ne sont plus utiles du fait de l'instruction
Application.EnableEvents = False ; si au contraire, tu souhaites leur
exécution, il faut ajouter l'instruction doevents avant la sélection de P9
Sub sélectMois()
Application.DisplayAlerts = False
Application.EnableEvents = False
For i = Sheets.Count To 5 Step -1
Sheets(i).Select
'les actions sur tes plages à effacer ...
'------------------------------
Range("MoisPlageSaisies").ClearContents
Range("MoisInterdit").ClearContents
Range("MoisPlageSaisies").ClearComments
'doevents
Range("P9").Select
'------------------------------
Next i
Application.EnableEvents = True
Application.DisplayAlerts = True
Sheets("toto").Select
End Sub
--
Avec plaisir
Philippe.R
"j-pascal" a écrit dans le message de
news:%Bonsoir,
C'est (presque) parfait !
En fait, ça marche si la procédure est lancée alors que j'ai activé
(sélectionné) une des 12 feuilles correspondant aux mois à effacer
(sheets(5) à sheets(16)) sinon j'ai le message :
"La méthode de la classe Range a échoué" !
Par ailleurs, j'ai essayé de désélectionner toutes les feuilles avec
l'enregistrement automatique et je vois que cela consiste à sélectionner
une feuille ! J'imagine que c'est donc ce qu'il y a de "mieux" à faire !?
En résumé :
'-----------------------------------------------
Sub sélectMois()
Application.DisplayAlerts = False
Application.EnableEvents = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
'------------------------------
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("P9").Select
'------------------------------
Next i
Application.EnableEvents = True
Application.DisplayAlerts = True
Sheets("toto").Select
End Sub
'-----------------------------------------------
Merci, avec la (petite) modif que j'ai faite, tout fonctionne à
merveille.. Il ne me reste plus qu'à trouvé un petit bout de code que
j'ai utilisé il y a qq temps pour avoir un Shape qui annonce à
l'utilisateur que la macro est en train de tourner ...
Merci encore,
JP
"Philippe.R" <AS_rauphil_at_wanadoo.fr> a écrit dans le message de news:Bonsoir,
Je propose :
Sub sélectMois()
Application.DisplayAlerts = False
application.enableeventsúlse
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
'les actions sur tes plages à effacer ...
Next i
application.enableevents=true
Application.DisplayAlerts = True
End Sub
--
Avec plaisir
Philippe.R
"j-pascal" a écrit dans le message de
news:Bonjour,
Je voudrais mettre ce qui suit sous une forme avec boucle, mais je n'y
arrive pas ;-(
Les feuilles vont de sheets(5) à sheets(16)
Merci pour vos lumières.
J'imagine qu'avec une boucle, la procédure sera plus rapide ?
J'étais parti avec qqch comme :
Sub sélectMois()
Application.DisplayAlerts = False
Sheets(16).Select
For i = Sheets.Count To 5 Step -1
Sheets(i).Select False
Next
'mes plages à effacer ...
End Sub
... mais ça bloque au niveau de mes Shapes + Workbook_Change qui fait
référence à un "Button" et il est apparemment impossible de
sélectionner tous les boutons des 12 feuilles en même temps.
Pour cette raison, j'ai pensé à une sélection et à un effacement de
chacunes des feuilles l'une après l'autre ...
Voici le code lourdaingue ;-) :
'------------------------------------------------------
Sub EffacerSaisiesBis()
Application.ScreenUpdating = False
Sheets(5).Select '5 = janvier
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
Sheets(6).Select
Range("MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Selection.ClearComments
Range("MoisInterdit, MoisPlageSaisies").Select
Selection.ClearContents
Range("MoisPlageSaisies").Select 'ajouté % Worksheet_Change !
Range("P9").Select
'etc jusqu'à feuille 16
End Sub
'------------------------------------------------------
--
Cordialement @+
JP
...bien entendu [f2:f9]
est une exemple de plage, à adapter
Bonne nuit.
lSteph
...bien entendu [f2:f9]
est une exemple de plage, à adapter
Bonne nuit.
lSteph
...bien entendu [f2:f9]
est une exemple de plage, à adapter
Bonne nuit.
lSteph