Macro avec plusieurs sous-macros

Bonjour à tous,

J’ai créé 4 macros (macro1 à macro4) .

Je voudrais créer une macro0 qui exécute les 4 macros l’une après l’autre à l’aide de commandes « call ».

J’ai donc écrit :

Sub Macro0()

Call Macro1

Call Macro2

Call Macro3

Call Macro4

End Sub

La Macro1 va chercher des nombres sur le web, je fais un copier-coller dans Excel.

Mais le programme s’arrête et n’exécute pas la Macro2.

Je suppose que j’ai oublié quelque chose …

Merci d’avance pour votre aide.

sylb

Bonjour,

Pourrait-on voir le contenu de la macro1
Bonne journée

Bonjour Jacky et merci pour ta réponse.

Dans la question posée, j’ai changé les noms des macros afin que la question soit de portée plus générale.

En fait, les macros sont les suivantes :

Sub lotto()

Call gains1

Call gains2

Call gains3

Call gains4

End Sub

Avec :

Sub gains1()

' importer les numéros gagnants à partir du web

Sheets("Lot2").Select

Range("P15").Select

ActiveWorkbook.FollowHyperlink "https://www.loterie-nationale.be/nos-jeux/lotto/resultats-tirage"

End Sub

Sur le site je sélectionne les numéros gagnants pour faire un copier-coller dans la feuille Excel, puis il faudrait que la macro « gains2() » s’exécute … mais le tout s’arrête.

Pour la suite gains2() commence comme suit:

Sub gains2()

'

' gains2 Macro

' Formattage des numéros importés

'

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

… et ainsi de suite

Si j’exécute les 4 macros séparément l’une à la suite de l’autre, tout fonctionne parfaitement.

Autres infos sont-ils nécessaires ?

Bonne journée.

sylb

re,

si vous êtes dans la macro "lotto" et vous faites chaque fois le "F8", vous avancez pas à pas dans vos macros. Un moment donné, il s'arrêtera, peut-^tre avec une instruction "End"

Bonjour Jacky, BsAlv, jpbt,

Merci pour vos réponses. Comme demandé je joins le fichier en question.

Bonne soirée.

sylb

re, cela a l'air de fonctionner chez moi.

J'ai ajouté un lien vers le site du RTBF pour les chiffres (macro Gains4B, à comparer avec la macro enrégistrée macro7, je suppose que vous devez remplacer les textes en flamand par vos textes francophons que vous verrez lorsque vous utilisez l'enregistreur des macros, voir aussi feuille "Weergegeven tekst"

la macro "Gains4b", vous pouvez l'utiliser aussi individuellement

Merci beaucoup BsAlv.

Bien reçu le fichier Macro7(), je suppose que cette macro remplace Gains1()

J'examine Macro7() à l'aise et te tiens au courant.

(J'aurais pu évidemment remplacer Gains2(), Gains3() et Gains4() par 1 seule, puisque le problème était de passer de Gains1() à Gains2() ).

Bonne après-midi.

sylb

re,

Gains4B est macro7 modifiée et améliorée

Je n'avais pas des problemes de gains1 à gains2 ...

Apparament le site du "RTBF" est plus facile à lire que celui du "Lotto" (mais je ne suis pas un spécialist dans cette matière)

Encore merci pour aide BsAlv.

J'ai fait l'essai de la Macro7(), mais j'ai une erreur 438 à la ligne : Selection.ShapeRange.IncrementLeft 243.75

Y a-t-il une solution pour cette erreur ? J'ai cherché sur internet mais je ne comprend pas ce qu'il faut faire.

Bonne soirée.

re,

c'était une macro crée avec l'enregistreur, donc c'est possible qu'elle contient des petits superflus inutiles. Ces 2 lignes avec "selection.shaperange", je pense que 'cétait pour un bouton, mais comme il n'existe plus, cela crée une erreur, vous pouvez supprimer ces 2 lignes.

La "Gains4B" n'est pas mieux ?

Bonsoir BsAlv

Désolé pour le retard et merci encore de ton aide.

Suite à ta réponse, je me suis mis à l'étude des commandes "query" dont je ne connaissais encore rien afin de pouvoir m'en servir à l'avenir.

Bonne soirée.

sylb

re,

il y a ici des spécialistes "PQ", ils vous aideront certainement avec vos questions, mais moi, c'est un outil que je ne connais pas. Tant pis.

Bonjour BsAlv et merci pour l'aide apportée.

SQL ... nouveaux horizons à explorer.

Bonne soirée

sylb

Rechercher des sujets similaires à "macro macros"