J
Jean Marc
Guest
re le forum
je séche sur un problème sans doute très simple !!
j'ai ce code, et je vé sans doute modifier la façon d'exploiter ce code donc je souhaiterais mettre la partie de ce code entre les *******
dans un nx module car j'aurais besoin de l'appeller suivant la demnde
c'est ce que j'ai fait en faisant Sub transfert() dans le nouveau module
dans ma macro j'ai fait Call transfert et là ça plante sur :
With Sheets(saison) !!!!!!!!!!!!!!!!!!!
je ne sé pas pourquoi !
je pense que ce code va 'amuser' certain car y'a surement moyen de faire plus simple mais suis content suis déjà arrivé a ça !!
merci a vous
JM
Sub Pagegarde()
Dim saison As String
Dim WS As Object
Dim edition As String
Dim Cumul_surface As Range
Dim App_azot_total As Range
Dim Tot_azot_eng_épendu As Range
'Demande d'édition
saison = InputBox('Quelle saison voulez vous éditer ?', 'Edition page de garde + Impression')
If saison = '' Then Menu
If isWs(saison) Then
'Lancer l'édition?
edition = MsgBox('Lancer l'impression de la saison ?', vbYesNo + vbQuestion, 'IMPRESSION')
If edition = 7 Then Call Menu
'*******************************************************************
'Cumul des surfaces
Application.ScreenUpdating = False
With Sheets(saison)
Set Cumul_surface = .Range('C7:C' & .Range('C65536').End(xlUp).Row)
Set App_azot_total = .Range('X7:X' & .Range('X65536').End(xlUp).Row)
Set Tot_azot_eng_épendu = .Range('AC7:AC' & .Range('AC65536').End(xlUp).Row)
End With
'
With Sheets('Synt')
.Range('C13') = Application.WorksheetFunction.Sum(Cumul_surface)
.Range('I13') = Application.WorksheetFunction.Sum(App_azot_total)
.Range('I15') = Application.WorksheetFunction.Sum(Tot_azot_eng_épendu)
End With
' Copie des données dans Infos
Sheets('Infos').Select
Columns('V:W').Select
Application.CutCopyMode = False
Selection.ClearContents
Columns('AA:AB').Select
Application.CutCopyMode = False
Selection.ClearContents
Sheets('Synt').Select
Range('B20:C30', 'G20:H30').Select
Selection.ClearContents
Sheets(saison).Select
Range('j7:k' & Range('k65536').End(xlUp).Row).Select
Selection.Copy
Sheets('Infos').Select
Range('V2:V4').Select
ActiveSheet.Paste
Sheets(saison).Select
Range('V7:W' & Range('W65536').End(xlUp).Row).Select
Selection.Copy
' copie des infos dans Synt
Sheets('Infos').Select
Range('AA2:AA4').Select
ActiveSheet.Paste
Range('X2:Y12').Select
Selection.Copy
Sheets('Synt').Select
Range('B20').Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Sheets('Infos').Select
Range('AC2:AD12').Select
Selection.Copy
Sheets('Synt').Select
Range('G20').Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.Goto Reference:='Macro10'
Sheets('Menu').Select
Range('A1').Select
Application.ScreenUpdating = True
'*****************************************************************
'Sheets('Synt').PrintOut
'Sheets(WS.Name).PrintOut
'Sheets('Pagegarde').PrintOut
Else: MsgBox 'la feuille n'existe pas !'
Call Menu
End If
End Sub
je séche sur un problème sans doute très simple !!
j'ai ce code, et je vé sans doute modifier la façon d'exploiter ce code donc je souhaiterais mettre la partie de ce code entre les *******
dans un nx module car j'aurais besoin de l'appeller suivant la demnde
c'est ce que j'ai fait en faisant Sub transfert() dans le nouveau module
dans ma macro j'ai fait Call transfert et là ça plante sur :
With Sheets(saison) !!!!!!!!!!!!!!!!!!!
je ne sé pas pourquoi !
je pense que ce code va 'amuser' certain car y'a surement moyen de faire plus simple mais suis content suis déjà arrivé a ça !!
merci a vous
JM
Sub Pagegarde()
Dim saison As String
Dim WS As Object
Dim edition As String
Dim Cumul_surface As Range
Dim App_azot_total As Range
Dim Tot_azot_eng_épendu As Range
'Demande d'édition
saison = InputBox('Quelle saison voulez vous éditer ?', 'Edition page de garde + Impression')
If saison = '' Then Menu
If isWs(saison) Then
'Lancer l'édition?
edition = MsgBox('Lancer l'impression de la saison ?', vbYesNo + vbQuestion, 'IMPRESSION')
If edition = 7 Then Call Menu
'*******************************************************************
'Cumul des surfaces
Application.ScreenUpdating = False
With Sheets(saison)
Set Cumul_surface = .Range('C7:C' & .Range('C65536').End(xlUp).Row)
Set App_azot_total = .Range('X7:X' & .Range('X65536').End(xlUp).Row)
Set Tot_azot_eng_épendu = .Range('AC7:AC' & .Range('AC65536').End(xlUp).Row)
End With
'
With Sheets('Synt')
.Range('C13') = Application.WorksheetFunction.Sum(Cumul_surface)
.Range('I13') = Application.WorksheetFunction.Sum(App_azot_total)
.Range('I15') = Application.WorksheetFunction.Sum(Tot_azot_eng_épendu)
End With
' Copie des données dans Infos
Sheets('Infos').Select
Columns('V:W').Select
Application.CutCopyMode = False
Selection.ClearContents
Columns('AA:AB').Select
Application.CutCopyMode = False
Selection.ClearContents
Sheets('Synt').Select
Range('B20:C30', 'G20:H30').Select
Selection.ClearContents
Sheets(saison).Select
Range('j7:k' & Range('k65536').End(xlUp).Row).Select
Selection.Copy
Sheets('Infos').Select
Range('V2:V4').Select
ActiveSheet.Paste
Sheets(saison).Select
Range('V7:W' & Range('W65536').End(xlUp).Row).Select
Selection.Copy
' copie des infos dans Synt
Sheets('Infos').Select
Range('AA2:AA4').Select
ActiveSheet.Paste
Range('X2:Y12').Select
Selection.Copy
Sheets('Synt').Select
Range('B20').Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Sheets('Infos').Select
Range('AC2:AD12').Select
Selection.Copy
Sheets('Synt').Select
Range('G20').Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.Goto Reference:='Macro10'
Sheets('Menu').Select
Range('A1').Select
Application.ScreenUpdating = True
'*****************************************************************
'Sheets('Synt').PrintOut
'Sheets(WS.Name).PrintOut
'Sheets('Pagegarde').PrintOut
Else: MsgBox 'la feuille n'existe pas !'
Call Menu
End If
End Sub