Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Simplification de mon code

2 réponses
Avatar
cyr1373
Bonjour,

je vous sollicite pour me dire ou le problème
ce situe car je butte sur un range impossible
à Range ("BD24:BE24").

Voici le maudit code..

Private Sub CommandButton1_Click()

'Sauvegarde du Classeur
Mois = InputBox("Entrez le Mois et l'Année du Pointage !! au Format
Avril 2009")
ScreenUpdating = False
nomClasseurSauv = "Planning de Présence " & Mois & ".xls"
répertoire = ("c:\Planning de Présence\")
If Dir(répertoire, vbDirectory) = "" Then MkDir répertoire
ActiveWorkbook.SaveCopyAs répertoire & nomClasseurSauv
Attente (500)
Call Planning
End Sub
------------------------------------------------------
Sub Planning()
ActiveSheet.Unprotect
Range("AX24:AY24").Select
Selection.AutoFilter
Attente (500)
Sheets("Sauv1").Select
Selection.Copy
Sheets("Planning").Select
Range("C25").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=66
Range("C90:AW90").Select
Application.CutCopyMode = False
Selection.Copy
Range("C89:AW89").Select
Range("AW89").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("C138:AW138").Select
Application.CutCopyMode = False
Selection.Copy
Range("C137:AW137").Select
Range("AW137").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=12
Range("C186:AW186").Select
Application.CutCopyMode = False
Selection.Copy
Range("C185:AW185").Select
Range("AW185").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=-78
Range("F21:L22").Select

Sheets("Planning2").Select
ActiveSheet.Unprotect
Attente (500)
Range ("BD24:BE24").Select
Selection.AutoFilter
Attente (500)
Sheets("Sauv2").Select
Selection.Copy
Sheets("Planning2").Select
Range("C25:BC66").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=66
Range("C90:BC90").Select
Application.CutCopyMode = False
Selection.Copy
Range("C89:BC89").Select
Range("BC89").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("C138:BC138").Select
Application.CutCopyMode = False
Selection.Copy
Range("C137:BC137").Select
Range("BC137").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=9
Range("C186:BC186").Select
Application.CutCopyMode = False
Selection.Copy
Range("C185:BC185").Select
Range("BC185").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=-81
Range("D4:J5").Select
Sheets("Planning2").Select
Application.CutCopyMode = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Planning").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

End Sub

Merci beaucoup.

2 réponses

Avatar
Daniel.C
Bonjour.
Il y a beaucoup à faire pour simplifier ton code. Pour te dépanner ce
soir, le problème vient probablement que tu n'as pas qualifié :
Range ("BD24:BE24")
Quand tu utilises un bouton la feuille par défaut est la feuille du
bouton et non pas la feuille active. Il faut donc mettre :
Sheets("Planning2").Range("BD24:BE24").Select
Cordialement.
Daniel

Bonjour,

je vous sollicite pour me dire ou le problème
ce situe car je butte sur un range impossible
à Range ("BD24:BE24").

Voici le maudit code..

Private Sub CommandButton1_Click()

'Sauvegarde du Classeur
Mois = InputBox("Entrez le Mois et l'Année du Pointage !! au Format
Avril 2009")
ScreenUpdating = False
nomClasseurSauv = "Planning de Présence " & Mois & ".xls"
répertoire = ("c:Planning de Présence")
If Dir(répertoire, vbDirectory) = "" Then MkDir répertoire
ActiveWorkbook.SaveCopyAs répertoire & nomClasseurSauv
Attente (500)
Call Planning
End Sub
------------------------------------------------------
Sub Planning()
ActiveSheet.Unprotect
Range("AX24:AY24").Select
Selection.AutoFilter
Attente (500)
Sheets("Sauv1").Select
Selection.Copy
Sheets("Planning").Select
Range("C25").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:f
Range("C90:AW90").Select
Application.CutCopyMode = False
Selection.Copy
Range("C89:AW89").Select
Range("AW89").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Range("C138:AW138").Select
Application.CutCopyMode = False
Selection.Copy
Range("C137:AW137").Select
Range("AW137").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
ActiveWindow.SmallScroll Down:
Range("C186:AW186").Select
Application.CutCopyMode = False
Selection.Copy
Range("C185:AW185").Select
Range("AW185").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
ActiveWindow.SmallScroll Down:=-78
Range("F21:L22").Select

Sheets("Planning2").Select
ActiveSheet.Unprotect
Attente (500)
Range ("BD24:BE24").Select
Selection.AutoFilter
Attente (500)
Sheets("Sauv2").Select
Selection.Copy
Sheets("Planning2").Select
Range("C25:BC66").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:f
Range("C90:BC90").Select
Application.CutCopyMode = False
Selection.Copy
Range("C89:BC89").Select
Range("BC89").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Range("C138:BC138").Select
Application.CutCopyMode = False
Selection.Copy
Range("C137:BC137").Select
Range("BC137").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
ActiveWindow.SmallScroll Down:=9
Range("C186:BC186").Select
Application.CutCopyMode = False
Selection.Copy
Range("C185:BC185").Select
Range("BC185").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
ActiveWindow.SmallScroll Down:=-81
Range("D4:J5").Select
Sheets("Planning2").Select
Application.CutCopyMode = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Planning").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

End Sub

Merci beaucoup.


Avatar
isabelle
bonjour cyr,

pour simplifier ton code tu pourrais éliminer tout les Select,
pour copier une plage vba n'a pas besoin que cette plage soit
sélectionnée au préalable
tu peut simplement écrire par exemple :

Sheets("Sauv1").Range("A1:C20").copy Sheets("Planning").Range("C25")

isabelle




cyr1373 a écrit :
Bonjour,

je vous sollicite pour me dire ou le problème
ce situe car je butte sur un range impossible
à Range ("BD24:BE24").

Voici le maudit code..

Private Sub CommandButton1_Click()

'Sauvegarde du Classeur
Mois = InputBox("Entrez le Mois et l'Année du Pointage !! au Format
Avril 2009")
ScreenUpdating = False
nomClasseurSauv = "Planning de Présence " & Mois & ".xls"
répertoire = ("c:Planning de Présence")
If Dir(répertoire, vbDirectory) = "" Then MkDir répertoire
ActiveWorkbook.SaveCopyAs répertoire & nomClasseurSauv
Attente (500)
Call Planning
End Sub
------------------------------------------------------
Sub Planning()
ActiveSheet.Unprotect
Range("AX24:AY24").Select
Selection.AutoFilter
Attente (500)
Sheets("Sauv1").Select
Selection.Copy
Sheets("Planning").Select
Range("C25").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:f
Range("C90:AW90").Select
Application.CutCopyMode = False
Selection.Copy
Range("C89:AW89").Select
Range("AW89").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Range("C138:AW138").Select
Application.CutCopyMode = False
Selection.Copy
Range("C137:AW137").Select
Range("AW137").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
ActiveWindow.SmallScroll Down:
Range("C186:AW186").Select
Application.CutCopyMode = False
Selection.Copy
Range("C185:AW185").Select
Range("AW185").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
ActiveWindow.SmallScroll Down:=-78
Range("F21:L22").Select

Sheets("Planning2").Select
ActiveSheet.Unprotect
Attente (500)
Range ("BD24:BE24").Select
Selection.AutoFilter
Attente (500)
Sheets("Sauv2").Select
Selection.Copy
Sheets("Planning2").Select
Range("C25:BC66").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:f
Range("C90:BC90").Select
Application.CutCopyMode = False
Selection.Copy
Range("C89:BC89").Select
Range("BC89").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Range("C138:BC138").Select
Application.CutCopyMode = False
Selection.Copy
Range("C137:BC137").Select
Range("BC137").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
ActiveWindow.SmallScroll Down:=9
Range("C186:BC186").Select
Application.CutCopyMode = False
Selection.Copy
Range("C185:BC185").Select
Range("BC185").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
ActiveWindow.SmallScroll Down:=-81
Range("D4:J5").Select
Sheets("Planning2").Select
Application.CutCopyMode = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Planning").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

End Sub

Merci beaucoup.