Bonjour
J'ai un fichier contenant plusieurs macro gérant l'impression d'une partie
d'une page. Ces macros fonctionnaient parfaitement bien il y a encore 4 mois
et depuis le mois de septembre plus rien ne fonctionne, cela plante Excel à
chaque fois !!.
Quelqu'un a-t-il une idée ?
Voici le code incriminé !
Sub ImpComP2()
'
' ImpComP2 Macro
' Macro créée le 28.8.2005 par Georges Ecko
'
Dim NombreLigne As Integer
On Error Resume Next
'
Do
ActiveSheet.Unprotect Password:="zorro"
NombreLigne = InputBox("Donne moi le nombre d'élève de la classe") * 2 + 4
Loop While Not ((Val(NombreLigne)) > 0)
On Error GoTo 0
Columns("C:AL").Select
Range("C2").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.PageSetup.PrintArea = "$A$1:$BV$" & CStr(NombreLigne)
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Columns("B:AM").Select
Range("B33").Activate
Selection.EntireColumn.Hidden = False
Application.Goto Reference:="FinP1"
Application.Goto Reference:="DebP2"
ActiveSheet.Protect Password:="zorro", DrawingObjects:=True,
Contents:=True, Scenarios:=True
End Sub
Le plus incroyable c'est que mode débogage pas à pas cela fonctionne sans
aucun soucis
D'avance un grand merci pour vos lumières
--
Georges Ecko
Windows XP sp 2
Office 2003
Bonjour
J'ai un fichier contenant plusieurs macro gérant l'impression d'une partie
d'une page. Ces macros fonctionnaient parfaitement bien il y a encore 4 mois
et depuis le mois de septembre plus rien ne fonctionne, cela plante Excel à
chaque fois !!.
Quelqu'un a-t-il une idée ?
Voici le code incriminé !
Sub ImpComP2()
'
' ImpComP2 Macro
' Macro créée le 28.8.2005 par Georges Ecko
'
Dim NombreLigne As Integer
On Error Resume Next
'
Do
ActiveSheet.Unprotect Password:="zorro"
NombreLigne = InputBox("Donne moi le nombre d'élève de la classe") * 2 + 4
Loop While Not ((Val(NombreLigne)) > 0)
On Error GoTo 0
Columns("C:AL").Select
Range("C2").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.PageSetup.PrintArea = "$A$1:$BV$" & CStr(NombreLigne)
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Columns("B:AM").Select
Range("B33").Activate
Selection.EntireColumn.Hidden = False
Application.Goto Reference:="FinP1"
Application.Goto Reference:="DebP2"
ActiveSheet.Protect Password:="zorro", DrawingObjects:=True,
Contents:=True, Scenarios:=True
End Sub
Le plus incroyable c'est que mode débogage pas à pas cela fonctionne sans
aucun soucis
D'avance un grand merci pour vos lumières
--
Georges Ecko
Windows XP sp 2
Office 2003
Bonjour
J'ai un fichier contenant plusieurs macro gérant l'impression d'une partie
d'une page. Ces macros fonctionnaient parfaitement bien il y a encore 4 mois
et depuis le mois de septembre plus rien ne fonctionne, cela plante Excel à
chaque fois !!.
Quelqu'un a-t-il une idée ?
Voici le code incriminé !
Sub ImpComP2()
'
' ImpComP2 Macro
' Macro créée le 28.8.2005 par Georges Ecko
'
Dim NombreLigne As Integer
On Error Resume Next
'
Do
ActiveSheet.Unprotect Password:="zorro"
NombreLigne = InputBox("Donne moi le nombre d'élève de la classe") * 2 + 4
Loop While Not ((Val(NombreLigne)) > 0)
On Error GoTo 0
Columns("C:AL").Select
Range("C2").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.PageSetup.PrintArea = "$A$1:$BV$" & CStr(NombreLigne)
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Columns("B:AM").Select
Range("B33").Activate
Selection.EntireColumn.Hidden = False
Application.Goto Reference:="FinP1"
Application.Goto Reference:="DebP2"
ActiveSheet.Protect Password:="zorro", DrawingObjects:=True,
Contents:=True, Scenarios:=True
End Sub
Le plus incroyable c'est que mode débogage pas à pas cela fonctionne sans
aucun soucis
D'avance un grand merci pour vos lumières
--
Georges Ecko
Windows XP sp 2
Office 2003
Bonjour Ecko,
Si cà marche en mode déboggage, cela m'inspire, car en mode déboggagetu
effectue les opérations lentement.
Il faudrait mettre un "timer", par exemple l'instruction DOEVENTS, derrière
PRINTOUT, ou derrière GOTO REFERENCE
--
Papyjac
"Georges Ecko" a écrit :
> Bonjour
>
> J'ai un fichier contenant plusieurs macro gérant l'impression d'une partie
> d'une page. Ces macros fonctionnaient parfaitement bien il y a encore 4 mois
> et depuis le mois de septembre plus rien ne fonctionne, cela plante Excel à
> chaque fois !!.
>
> Quelqu'un a-t-il une idée ?
>
> Voici le code incriminé !
>
> Sub ImpComP2()
> '
> ' ImpComP2 Macro
> ' Macro créée le 28.8.2005 par Georges Ecko
> '
> Dim NombreLigne As Integer
> On Error Resume Next
> '
> Do
> ActiveSheet.Unprotect Password:="zorro"
> NombreLigne = InputBox("Donne moi le nombre d'élève de la classe") * 2 + 4
> Loop While Not ((Val(NombreLigne)) > 0)
> On Error GoTo 0
> Columns("C:AL").Select
> Range("C2").Activate
> Selection.EntireColumn.Hidden = True
> ActiveSheet.PageSetup.PrintArea = "$A$1:$BV$" & CStr(NombreLigne)
> With ActiveSheet.PageSetup
> .Orientation = xlLandscape
> .FitToPagesWide = 1
> .FitToPagesTall = 1
> End With
> ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
> Columns("B:AM").Select
> Range("B33").Activate
> Selection.EntireColumn.Hidden = False
> Application.Goto Reference:="FinP1"
> Application.Goto Reference:="DebP2"
> ActiveSheet.Protect Password:="zorro", DrawingObjects:=True,
> Contents:=True, Scenarios:=True
> End Sub
>
> Le plus incroyable c'est que mode débogage pas à pas cela fonctionne sans
> aucun soucis
>
> D'avance un grand merci pour vos lumières
>
> --
> Georges Ecko
>
> Windows XP sp 2
> Office 2003
Bonjour Ecko,
Si cà marche en mode déboggage, cela m'inspire, car en mode déboggagetu
effectue les opérations lentement.
Il faudrait mettre un "timer", par exemple l'instruction DOEVENTS, derrière
PRINTOUT, ou derrière GOTO REFERENCE
--
Papyjac
"Georges Ecko" a écrit :
> Bonjour
>
> J'ai un fichier contenant plusieurs macro gérant l'impression d'une partie
> d'une page. Ces macros fonctionnaient parfaitement bien il y a encore 4 mois
> et depuis le mois de septembre plus rien ne fonctionne, cela plante Excel à
> chaque fois !!.
>
> Quelqu'un a-t-il une idée ?
>
> Voici le code incriminé !
>
> Sub ImpComP2()
> '
> ' ImpComP2 Macro
> ' Macro créée le 28.8.2005 par Georges Ecko
> '
> Dim NombreLigne As Integer
> On Error Resume Next
> '
> Do
> ActiveSheet.Unprotect Password:="zorro"
> NombreLigne = InputBox("Donne moi le nombre d'élève de la classe") * 2 + 4
> Loop While Not ((Val(NombreLigne)) > 0)
> On Error GoTo 0
> Columns("C:AL").Select
> Range("C2").Activate
> Selection.EntireColumn.Hidden = True
> ActiveSheet.PageSetup.PrintArea = "$A$1:$BV$" & CStr(NombreLigne)
> With ActiveSheet.PageSetup
> .Orientation = xlLandscape
> .FitToPagesWide = 1
> .FitToPagesTall = 1
> End With
> ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
> Columns("B:AM").Select
> Range("B33").Activate
> Selection.EntireColumn.Hidden = False
> Application.Goto Reference:="FinP1"
> Application.Goto Reference:="DebP2"
> ActiveSheet.Protect Password:="zorro", DrawingObjects:=True,
> Contents:=True, Scenarios:=True
> End Sub
>
> Le plus incroyable c'est que mode débogage pas à pas cela fonctionne sans
> aucun soucis
>
> D'avance un grand merci pour vos lumières
>
> --
> Georges Ecko
>
> Windows XP sp 2
> Office 2003
Bonjour Ecko,
Si cà marche en mode déboggage, cela m'inspire, car en mode déboggagetu
effectue les opérations lentement.
Il faudrait mettre un "timer", par exemple l'instruction DOEVENTS, derrière
PRINTOUT, ou derrière GOTO REFERENCE
--
Papyjac
"Georges Ecko" a écrit :
> Bonjour
>
> J'ai un fichier contenant plusieurs macro gérant l'impression d'une partie
> d'une page. Ces macros fonctionnaient parfaitement bien il y a encore 4 mois
> et depuis le mois de septembre plus rien ne fonctionne, cela plante Excel à
> chaque fois !!.
>
> Quelqu'un a-t-il une idée ?
>
> Voici le code incriminé !
>
> Sub ImpComP2()
> '
> ' ImpComP2 Macro
> ' Macro créée le 28.8.2005 par Georges Ecko
> '
> Dim NombreLigne As Integer
> On Error Resume Next
> '
> Do
> ActiveSheet.Unprotect Password:="zorro"
> NombreLigne = InputBox("Donne moi le nombre d'élève de la classe") * 2 + 4
> Loop While Not ((Val(NombreLigne)) > 0)
> On Error GoTo 0
> Columns("C:AL").Select
> Range("C2").Activate
> Selection.EntireColumn.Hidden = True
> ActiveSheet.PageSetup.PrintArea = "$A$1:$BV$" & CStr(NombreLigne)
> With ActiveSheet.PageSetup
> .Orientation = xlLandscape
> .FitToPagesWide = 1
> .FitToPagesTall = 1
> End With
> ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
> Columns("B:AM").Select
> Range("B33").Activate
> Selection.EntireColumn.Hidden = False
> Application.Goto Reference:="FinP1"
> Application.Goto Reference:="DebP2"
> ActiveSheet.Protect Password:="zorro", DrawingObjects:=True,
> Contents:=True, Scenarios:=True
> End Sub
>
> Le plus incroyable c'est que mode débogage pas à pas cela fonctionne sans
> aucun soucis
>
> D'avance un grand merci pour vos lumières
>
> --
> Georges Ecko
>
> Windows XP sp 2
> Office 2003
Essaie ceci en prenant soin d'indiquer le nom de
la feuille dans ton application, pour l'exemple j'ai
pris "Feuil1" qui est la propriété "Name" visible
dans l'interface de l'éditeur de code et non le nom
de l'onglet de la feuille.
'-------------------------------------------
Sub ImpComP()
Dim NombreLigne As Variant
On Error Resume Next
Application.ScreenUpdating = False
Do
NombreLigne = Application.InputBox(Prompt:= _
"Donne moi le nombre d'élève de la classe", Type:=1)
If Format(NombreLigne) = False Then
If MsgBox("Désirez-vous annuler l'impression?", _
vbCritical + vbYesNo, "Impression") = vbYes Then
Exit Sub
End If
End If
Loop While Not NombreLigne > 0
NombreLigne = NombreLigne * 2 + 4
With Feuil1
.Unprotect Password:="zorro"
.Columns("C:AL").EntireColumn.Hidden = True
With .PageSetup
.PrintArea = "$A$1:$BV$" & CStr(NombreLigne)
.PageSetup.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
.PrintOut Copies:=1, Collate:=True
.PageSetup.PrintArea = ""
.Columns("B:AM").EntireColumn.Hidden = False
.Protect Password:="zorro", DrawingObjects:=True, _
Contents:=True, Scenarios:=True
End With
Application.Goto Reference:="FinP1"
Application.Goto Reference:="DebP2"
End Sub
'-------------------------------------------
"Georges Ecko" a écrit dans le
message de news:
Bonjour
J'ai un fichier contenant plusieurs macro gérant l'impression d'une partie
d'une page. Ces macros fonctionnaient parfaitement bien il y a encore 4 mois
et depuis le mois de septembre plus rien ne fonctionne, cela plante Excel à
chaque fois !!.
Quelqu'un a-t-il une idée ?
Voici le code incriminé !
Sub ImpComP2()
'
' ImpComP2 Macro
' Macro créée le 28.8.2005 par Georges Ecko
'
Dim NombreLigne As Integer
On Error Resume Next
'
Do
ActiveSheet.Unprotect Password:="zorro"
NombreLigne = InputBox("Donne moi le nombre d'élève de la classe") * 2 + 4
Loop While Not ((Val(NombreLigne)) > 0)
On Error GoTo 0
Columns("C:AL").Select
Range("C2").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.PageSetup.PrintArea = "$A$1:$BV$" & CStr(NombreLigne)
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Columns("B:AM").Select
Range("B33").Activate
Selection.EntireColumn.Hidden = False
Application.Goto Reference:="FinP1"
Application.Goto Reference:="DebP2"
ActiveSheet.Protect Password:="zorro", DrawingObjects:=True,
Contents:=True, Scenarios:=True
End Sub
Le plus incroyable c'est que mode débogage pas à pas cela fonctionne sans
aucun soucis
D'avance un grand merci pour vos lumières
--
Georges Ecko
Windows XP sp 2
Office 2003
Essaie ceci en prenant soin d'indiquer le nom de
la feuille dans ton application, pour l'exemple j'ai
pris "Feuil1" qui est la propriété "Name" visible
dans l'interface de l'éditeur de code et non le nom
de l'onglet de la feuille.
'-------------------------------------------
Sub ImpComP()
Dim NombreLigne As Variant
On Error Resume Next
Application.ScreenUpdating = False
Do
NombreLigne = Application.InputBox(Prompt:= _
"Donne moi le nombre d'élève de la classe", Type:=1)
If Format(NombreLigne) = False Then
If MsgBox("Désirez-vous annuler l'impression?", _
vbCritical + vbYesNo, "Impression") = vbYes Then
Exit Sub
End If
End If
Loop While Not NombreLigne > 0
NombreLigne = NombreLigne * 2 + 4
With Feuil1
.Unprotect Password:="zorro"
.Columns("C:AL").EntireColumn.Hidden = True
With .PageSetup
.PrintArea = "$A$1:$BV$" & CStr(NombreLigne)
.PageSetup.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
.PrintOut Copies:=1, Collate:=True
.PageSetup.PrintArea = ""
.Columns("B:AM").EntireColumn.Hidden = False
.Protect Password:="zorro", DrawingObjects:=True, _
Contents:=True, Scenarios:=True
End With
Application.Goto Reference:="FinP1"
Application.Goto Reference:="DebP2"
End Sub
'-------------------------------------------
"Georges Ecko" <GeorgesEcko@discussions.microsoft.com> a écrit dans le
message de news: 26F0AF60-191B-4E97-8B1A-63FDFBC5056B@microsoft.com...
Bonjour
J'ai un fichier contenant plusieurs macro gérant l'impression d'une partie
d'une page. Ces macros fonctionnaient parfaitement bien il y a encore 4 mois
et depuis le mois de septembre plus rien ne fonctionne, cela plante Excel à
chaque fois !!.
Quelqu'un a-t-il une idée ?
Voici le code incriminé !
Sub ImpComP2()
'
' ImpComP2 Macro
' Macro créée le 28.8.2005 par Georges Ecko
'
Dim NombreLigne As Integer
On Error Resume Next
'
Do
ActiveSheet.Unprotect Password:="zorro"
NombreLigne = InputBox("Donne moi le nombre d'élève de la classe") * 2 + 4
Loop While Not ((Val(NombreLigne)) > 0)
On Error GoTo 0
Columns("C:AL").Select
Range("C2").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.PageSetup.PrintArea = "$A$1:$BV$" & CStr(NombreLigne)
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Columns("B:AM").Select
Range("B33").Activate
Selection.EntireColumn.Hidden = False
Application.Goto Reference:="FinP1"
Application.Goto Reference:="DebP2"
ActiveSheet.Protect Password:="zorro", DrawingObjects:=True,
Contents:=True, Scenarios:=True
End Sub
Le plus incroyable c'est que mode débogage pas à pas cela fonctionne sans
aucun soucis
D'avance un grand merci pour vos lumières
--
Georges Ecko
Windows XP sp 2
Office 2003
Essaie ceci en prenant soin d'indiquer le nom de
la feuille dans ton application, pour l'exemple j'ai
pris "Feuil1" qui est la propriété "Name" visible
dans l'interface de l'éditeur de code et non le nom
de l'onglet de la feuille.
'-------------------------------------------
Sub ImpComP()
Dim NombreLigne As Variant
On Error Resume Next
Application.ScreenUpdating = False
Do
NombreLigne = Application.InputBox(Prompt:= _
"Donne moi le nombre d'élève de la classe", Type:=1)
If Format(NombreLigne) = False Then
If MsgBox("Désirez-vous annuler l'impression?", _
vbCritical + vbYesNo, "Impression") = vbYes Then
Exit Sub
End If
End If
Loop While Not NombreLigne > 0
NombreLigne = NombreLigne * 2 + 4
With Feuil1
.Unprotect Password:="zorro"
.Columns("C:AL").EntireColumn.Hidden = True
With .PageSetup
.PrintArea = "$A$1:$BV$" & CStr(NombreLigne)
.PageSetup.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
.PrintOut Copies:=1, Collate:=True
.PageSetup.PrintArea = ""
.Columns("B:AM").EntireColumn.Hidden = False
.Protect Password:="zorro", DrawingObjects:=True, _
Contents:=True, Scenarios:=True
End With
Application.Goto Reference:="FinP1"
Application.Goto Reference:="DebP2"
End Sub
'-------------------------------------------
"Georges Ecko" a écrit dans le
message de news:
Bonjour
J'ai un fichier contenant plusieurs macro gérant l'impression d'une partie
d'une page. Ces macros fonctionnaient parfaitement bien il y a encore 4 mois
et depuis le mois de septembre plus rien ne fonctionne, cela plante Excel à
chaque fois !!.
Quelqu'un a-t-il une idée ?
Voici le code incriminé !
Sub ImpComP2()
'
' ImpComP2 Macro
' Macro créée le 28.8.2005 par Georges Ecko
'
Dim NombreLigne As Integer
On Error Resume Next
'
Do
ActiveSheet.Unprotect Password:="zorro"
NombreLigne = InputBox("Donne moi le nombre d'élève de la classe") * 2 + 4
Loop While Not ((Val(NombreLigne)) > 0)
On Error GoTo 0
Columns("C:AL").Select
Range("C2").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.PageSetup.PrintArea = "$A$1:$BV$" & CStr(NombreLigne)
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Columns("B:AM").Select
Range("B33").Activate
Selection.EntireColumn.Hidden = False
Application.Goto Reference:="FinP1"
Application.Goto Reference:="DebP2"
ActiveSheet.Protect Password:="zorro", DrawingObjects:=True,
Contents:=True, Scenarios:=True
End Sub
Le plus incroyable c'est que mode débogage pas à pas cela fonctionne sans
aucun soucis
D'avance un grand merci pour vos lumières
--
Georges Ecko
Windows XP sp 2
Office 2003