VBA associer plusieurs macros ensemble activee selon un seul bouton

Bonjour a tous!

un jour, je serai aussi bonne que vous! mais pour le moment, japprends en tatillonnant. merci de votre appui!

Voici mon but:

Voir ci-bas le code (independamment, la majeure partie fonctionne selon ce que je souhaites a quelques exceptions pres, inscrite dans le code)

il sactive via un bouton dans lun des onglets.

Sub GetData_Click()
Dim sourceworkbook As Workbook
Dim currentworkbook As Workbook
Set currentworkbook = ThisWorkbook
Set sourceworkbook = Workbooks.Open("C:\Book1.xlsx")
sourceworkbook.Worksheets("Sheet1").Range("A1:H3000").Copy
currentworkbook.Activate
currentworkbook.Worksheets("IMPORT").Activate
currentworkbook.Worksheets("IMPORT").Cells(1, 1).Select
ActiveSheet.Paste
sourceworkbook.Close
Set sourceworkbook = Nothing
Set currentworkbook = Nothing
ThisWorkbook.Activate
Worksheets("MASTER ").Activate

call ErrorCheck

End Sub

'Premier probleme! Je recois un message pop up dexcel demandant si je veux garder en copie cache les donnees copiees... NON! comment faire pour automatiser cette reponse

' je souhaite appeler la macro erreurcheck ci bas. Si un message derreur apparait, sortir du code car lutilisateur a quelque chose a corriger. (ne rien imprimer, afficher l<onglet Master)
Ce code se trouve dans le code de la page ou le "range C1 tourne au rouge si une erreur est detectee" (et est inscrit plus bas)

' si pas de problemes detecte, je souhaite poursuivre avec l<impression en pdf de l<onglet(" Rapport") . la nommer Rapport_ladatedujour. dans un dossier predefinis.
* les messages derreurs et confirmation fonctionne super bien. cest la partie impression qui tourne mal... et lagencement des deux macros ensemble....

Sub ErrorCheck()

Dim Exportsheet As Worksheet


If Range("C1").DisplayFormat.Interior.Color = vbRed Then
MsgBox "An error is detected. one or more IQ items do not match the Masters list."
End If

If Range("C1").DisplayFormat.Interior.Color = vbGreen Then
MsgBox "No errors detected, the report will now print to pdf to X location."
Exportsheet("Rapport").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\" & Range("A1") & Format(Date, "mmdd")
End If

End Sub

Bonjour,

Ça fait beaucoup de question pour un seul sujet...

Soyez breve et ne posez qu'une question à la fois.

Je vais commencer par les question que vous n'avez pas posé :

Soyez bref également dans vos déclarations : les Workbook WBS etet WBC (Workbook Cible) suffisent largement et pour le CurrentWorkbook (c'est à dire celui qui comporte la macro) Microsoft à trouvé un mot universellement connu ThisWorkBook donc TWB conviennent parfaitement...

3 caractères suffisent donc en général. Parce que si vous commencez déjà avec 8 caractères simplement pour les Workbook c'est plus des programmes que vous allez écrire mais de véritables romans. (Que personne ne lira jamais parce que des pavés indigestes..)

Enfin quand vous citez votre code sur ce forum, utilisez le bouton "Code" prévu pour cela pour la mise en forme.

On appuie sur le bouton on colle e code et on valide...

joindre

ayant fait cela vous devriez avoir un code comme cela qui devrait répondre à votre attente :

Sub Test()
Dim WBS As Workbook
Set WBS = Workbook.Open("C:\Book1.xlsx")
On Error GoTo GESTERR
WBS.Worksheets("Source").Range("A1:H3000").Copy ThisWorkbook.Worksheets("IMPORT").Cells(1)
Application.DisplayAlerts = False
WBS.Close
Set WBS = Nothing
'inutile d'activer ThisWorkbook puisque l'autre est fermé...
'ici votre ligne d'impressionToPDF
Exit Sub
GESTERR:
    'Ici vos instruction de gestion d'erreur
MsgBox "An Error has occureds
End Sub

Ok ?

A+

Rechercher des sujets similaires à "vba associer macros ensemble activee seul bouton"