Faire appel a une macro

  • Initiateur de la discussion Initiateur de la discussion Jean Marc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
Bonjour

cela bug car saison est une variable que tu as déclaré dans ta macro donc quand tu appelles ta nouvelle macro il ne connait plus la valeur de ce nom saison

Si tu as mis ta macro Transfert dans un nouveau module il faur déclarer ta variable saison public et ce en tout début d'un module avant tout code du style :

Public saison As String
Sub Pagegarde()

Bon courage

EDITION

Verifies aussi tes autres variables

Message édité par: Pascal76, à: 13/04/2005 11:24
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
547
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
1
Affichages
180
Réponses
2
Affichages
281
Réponses
4
Affichages
461
Retour