4 macros a lancer sans faire 4 cliques

moupa

XLDnaute Junior
Bonjour le forum

Je vous avais posés dernièrement une question pour lancer mes macros avec ontime. Suite à vos réponses j'avais réussi à les faire fonctionner.
Mais voilà j'ai vraiment peur qu'un moment cela bug!!! car il y a quatre macros à lancer les unes derrière les autres.
voici comment fonctionne mon fichier et les macros.
Tout d'abord j'ai 2 logiciels qui exporte des fichiers csv et qui vont ce mettre dans un répertoire temp.
Ensuite par sécurité et éviter les conflits de lecture écriture, je fais une copie de ses deux fichiers csv dans le répertoire de mon fichier excel qui fera ensuite le traitement avec deux macros.
Je lance la troisième macro qui copie le premier fichier csv dans un onglet de mon fichier et pour finir je lance la quatrième macro qui copie le deuxième fichier dans un onglet et qui imprime toutes les nouvelles entrées automatiquement.
Comme vous le voyez cela fait 4 macros que je lance par une par une en cliquant sur les boutons qui ce trouve dans l'onglet menu-ticket:confused:

Ma question est il possible en appuyant sur un seul bouton et une seule fois de faire ces quatres opérations a la suite des unes des autres.

je vous joins une partie de mon fichier de travail.

merci d'avance pour vos réponses
pascal
 

Pièces jointes

  • test_macro.xlsm
    112.6 KB · Affichages: 40
  • test_macro.xlsm
    112.6 KB · Affichages: 45
  • test_macro.xlsm
    112.6 KB · Affichages: 43

Yaloo

XLDnaute Barbatruc
Re : 4 macros a lancer sans faire 4 cliques

Bonsoir moupa, le forum,

Avec une macro de ce type :

VB:
Sub Lancement()
  CopierFichier_oescore
  Sleep (1000) 'pour 1 secondes
  CopierFichier_siconfig
  Sleep (5000) 'pour 5 secondes
  import_csv_siconfig_automatique
  Sleep (10000) 'pour 10 secondes
  impression_automatique
End Sub

Mettre les macros dans l'ordre et mettre le temps nécessaire si besoin.

A+

Martial
 

Papou-net

XLDnaute Barbatruc
Re : 4 macros a lancer sans faire 4 cliques

Bonsoir moupa,

Ci-joint ton fichier sur lequel j'ai ajouté un bouton ("Action global").

Un clic dessus déclenche la macro "CopieGroupee" dans le module "CopieGlobal". Reste à vérifier si les 4 macros sont lancées dans l'ordre souhaité.

Bonne soirée.

Cordialement.

Edit :

Bonsoir Yaloo,

Je me demande si les temporisations sont nécessaires car les macros ne sont lancées que si la précédente est terminée. Ou alors, je n'ai pas tout compris ?

Cordialement.
 

Pièces jointes

  • Copie de test_macro.xlsm
    463.2 KB · Affichages: 39
  • Copie de test_macro.xlsm
    463.2 KB · Affichages: 43
  • Copie de test_macro.xlsm
    463.2 KB · Affichages: 44
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : 4 macros a lancer sans faire 4 cliques

Salut Papou-net,

J'ai mis les temporisations, car lorsque l'on lance certaines macros, autre que des actions Excel, il peut y avoir un temps de réalisation.

J'avais eu ce cas, lorsqu'avec shell, je créait un fichier de sauvegarde avec IZarc et voulais le renommer, si je le renommait sans la temporisation, ça ne me remplaçait pas le nom de mon fichier.

A+

Martial
 

PMO2

XLDnaute Accro
Re : 4 macros a lancer sans faire 4 cliques

Bonjour,

Avec la démarche décrite dans l'exemple suivant
Code:
Dim MsgErreur As String

Sub General()
Call Macro1
If MsgErreur = "" Then Call Macro2
If MsgErreur = "" Then Call Macro3
If MsgErreur = "" Then Call Macro4
If MsgErreur <> "" Then
  MsgBox MsgErreur
  MsgErreur = ""
End If
End Sub


Sub Macro1()
On Error GoTo Erreur
'traitement
MsgBox "AAA"
Exit Sub
Erreur:
MsgErreur = "Macro1" & vbCrLf & Err.Description
End Sub

Sub Macro2()
On Error GoTo Erreur
'traitement
MsgBox "BBB"
Exit Sub
Erreur:
MsgErreur = "Macro2" & vbCrLf & Err.Description
End Sub

Sub Macro3()
On Error GoTo Erreur
'traitement
MsgBox "CCC"
'simulation d'erreur pour visualiser (à virer)
'Dim x As Integer
'x = 65539
Exit Sub
Erreur:
MsgErreur = "Macro3" & vbCrLf & Err.Description
End Sub

Sub Macro4()
On Error GoTo Erreur
'traitement
MsgBox "DDD"
'simulation d'erreur pour visualiser (à virer)
Dim x As Long
x = 123456
x = x / 0
Exit Sub
Erreur:
MsgErreur = "Macro4" & vbCrLf & Err.Description
End Sub
 

moupa

XLDnaute Junior
Re : 4 macros a lancer sans faire 4 cliques

Bonjour Le forum

@Yaloo & Papou-net
J'ai donc essayer votre solution. Malheureusement cela ne fonctionne pas chez moi!!! bon je fais peut être une mauvaise manipulation. Une seule procédure ce réalise sur les deux fichiers a recopier!!!
Si le fais manuellement avec mes deux boutons séparé cela fonctionne!!!

Ensuite j'ai tenté avec la temporisation dans mon fichier original et je me suis retrouvé avec un couic. En cherchant un peu
J'ai trouvé qu'il fallait faire une déclaration sub Sleep. Mais même avec cela, la macro copiegroupee ne recopie pas mes deux premières demandes à savoir la copie des fichiers csv dans un autre répertoire :(

Je n'ai pas encore pu mettre le nez dans la solution de PMO2

affaire a suivre et je suis preneur de toute autre solution
@+
pascal
 

Si...

XLDnaute Barbatruc
Re : 4 macros a lancer sans faire 4 cliques

salut

et Si... tu incluais les dernières macros dans les précédentes dans un Module standard (en évitant de nommer celui-ci comme les macros) ? Un appel de la première les enchaînerait.

Code:
Sub import_csv()
  le code
  CopierFichier_siconfig
End Sub
Sub CopierFichier_siconfig()
  le code
  CopierFichier_oescore
End Sub
Sub CopierFichier_oescore()
  lecode
  Impression
End Sub
Sub Impression()
   le code
End Sub
 

moupa

XLDnaute Junior
Re : 4 macros a lancer sans faire 4 cliques

Bonjour le forum,

Ca FONCTIONNE:) avec la solution de Si.....
Pour l'instant je vais utiliser cette solution en attendant de voir et de comprendre tout ce que vous m'avez donné.
Encore merci à vous
pascal
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 847
dernier inscrit
Djigbenou