incompatibilité de macros ??

altinea

XLDnaute Accro
Bonsoir le forum,
j'ai dans mon fichier sur une feuille deux macros, une qui va mettre à jour les infos sur la feuille concernée et l'autre je voulais l'associer à un bouton afin d'envoyer l'onglet à un destinataire.

Les deux macros fonctionnent très bien dans des fichiers differents

Le soucis est que lorsque je lance la macro envoi de mail, ça bug : ci après les 2 macros qui sont dans le module
de la feuille

Private Sub EnvoiMail_Click()
Dim Destinataires(1) As String, Sujet As String
Dim AccuseReception As Boolean
Destinataires(1) = "ignace.marce@wanadoo.fr"
'Destinataires(2) = 'Destinataire2@domaine.fr'
'Destinataires(3) = 'Destinataire3@domaine.fr'
Sujet = "Objet éventuel de l'envoi"
AccuseReception = True
ThisWorkbook.Sheets("pression").Copy
ActiveWorkbook.SendMail Destinataires, Sujet, AccuseReception
ActiveWorkbook.Close False
End Sub

Private Sub Worksheet_Activate()
Call Extraire 'ici ça met direct en jaune
End Sub


Le message d'erreur :Erreur de compilation sub ou function non définie

Merci pour votre aide
 

Paf

XLDnaute Barbatruc
Re : incompatibilité de macros ??

bonjour

Call Extraire (pas très visible en jaune) appelle une procédure du type
Code:
Private Sub Extraire()
... ' code
End Sub

a priori dans le classeur cette sub n'existe pas, d'où l'erreur.

A+
 

altinea

XLDnaute Accro
Re : incompatibilité de macros ??

bonsoir Paf, la formule existe bien dans le module1, en jaune Call Extraire, la macro extraire se trouve dans le mod 1, ici il s'agit d'une macro évenementielle
voila ce que je peux dire, je vais essaye de faire autrement, meme si je met le code la ma macro pour envoyer les mail dans le module1, elle se retrouve dans la feuille pression.
Merci pour ton aide
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : incompatibilité de macros ??

Bonsoir le fil, bonsoir le forum,

bonsoir Paf, la formule existe bien dans le module1, en jaune Call Extraire, la macro extraire se trouve dans le mod 1, ici il s'agit d'une macro évenementielle
voila ce que je peux dire, je vais essaye de faire autrement, meme si je met le code la ma macro pour envoyer les mail dans le module1, elle se retrouve dans la feuille pression.
Je sais pas si c'est clair pour Paf mais je t'avoue n'avoir rien compris à tes explications. Tu sembles mélanger formule et macro, module1 et mod 1... Où se trouve exactement ta procédure Extraire ? Comment une macro événementielle peut-elle se trouver dans un module ?
Je te recommande vivement un fichier exemple si tu veux obtenir de l'aide plus rapidement...
 

altinea

XLDnaute Accro
Re : incompatibilité de macros ??

Bonsoir le forum, Paf, Robert,
ci joint le fichier, du moins deux feuilles concernées par le problème.

Sur la feuille Modop, en cellules E6 on change le choix et celui ci se répercute dans la feuille pression.
Dans la feuille pression le bouton "Envoi S" permet théoriquement de lancer un envoi par mail.

Les deux opérations fonctionnent, séparément. Par contre quand je lance la macro via le bouton, ça bug.

Le code qui est activé par le bouton est sur le vba de la feuille et celui qui met à jour la feuille presseion 3extraire" est dans module1.
J'spère que j'aurai été plus clair, c'est vrai que ce n'est pas facile de traduire ce que l'on identifie.

Merci pour votre aide
 

Pièces jointes

  • altinea_macro_envoi_v2001.xls
    208 KB · Affichages: 36

Paf

XLDnaute Barbatruc
Re : incompatibilité de macros ??

Re,
quand on clique sur le bouton Envoi S de la feuille Pression, il se produit curieusement une copie du classeur en cours sous le nom Classeur1.xls. Ce classeur s'ouvre sur la feuille Pression . Cette feuille étant rendue active, sa Private Sub Worksheet_Activate() (qui contient Call Extraire) se déclenche . Or, lors de cette mystérieuse (pour moi) copie les modules ne sont pas copiés !.

Donc l'appel à Sub Extraire() (normalement dans le module 1) échoue, d'où le message incriminé !

Voila pour l'explication du message d'erreur, mais pour trouver un remède, mes limites sont dépassées dans le domaine de la gestion de messagerie.

Désolé,

Bonne suite
 
Dernière édition:

altinea

XLDnaute Accro
Re : incompatibilité de macros ??

Merci Paf, cela permettra à un autre pro d'excel de mieux comprendre ce qui se passe, en effet la copie s'effectue, pour être envoyée, j'ai fait le test et ça fonctionne, mais dès que j'associe les deux bizarre, ça plant, et mes compétences sont bine dépassées aussi.
Merci encore, j'espère que quelqu’un aura une idée, là dessus, et peut être ça résoudra aussi un autre mystère dans le fichier complet, des fois excel plante, puis ça marche, peut etre une boucle quelconque ou autre chose perturbant le fonctionnement d'excel, mais là encore je suis incompétent

Merci encore
 

altinea

XLDnaute Accro
Re : incompatibilité de macros ??

Bonjour le Forul, le fil,
pour apporter quelques infos en plus, cela peut permettre d'identifier une source de conflit ailleurs dans le fichier, parfois, lorsque ej lance un userform, et que j'accède au remplissage d'un textbox, j'ai le message suivant "excel a cessé de fonction, il tente de réucuper"
Mais je sais pas si c'est lié avec le dysfonctionnement rencontré dans ce fil
merci pour votre aide
 

altinea

XLDnaute Accro
Re : incompatibilité de macros ??

bonsoir le forum, désolé de revenir vers vous; si quelqu'un avait une piste pour permettre à mes deux macros de cohabiter, cela me permettrai de finaliser mon fichier.
en vous remerciant pour votre aide
 

altinea

XLDnaute Accro
Re : incompatibilité de macros ??

Bonjour le forum, j'ai poursuivi mes investigations sur le sujet, je rejoins le constat de PAF, lors de l'envoi, celui s'effectue, la macro crée bien un onglet.

2 choses :

1 Si le code est seul sur le vba de la feuille, il part bien en mail.
2 Quand el code est avec une autre commande dans le vba de la feuille ca bug, sur l'appel de la macro definie.

ça bug, sur le nouvel onglet crée, du coup il ne peux etre envoyé est crée.

Voilà, si quelqu'un a une astuce poiur faire cohabiter le code dans cette feuille merci de votre aide
 

Dranreb

XLDnaute Barbatruc
Re : incompatibilité de macros ??

Bonjour.

Essayer en remplaçant ThisWorkbook.Sheets("pression").Copy par:
VB:
Application.EnableEvents = False
Me.Copy
Application.EnableEvents = True
…si toutefois le classeur peut être expédié même s'il n'existe pas encore sur le disque. Je pense toutefois qu'il vaudrait mieux copier non la feuille mais son contenu dans celle d'un nouveau classeur: elle sera dépourvue ainsi de macro.
 

Discussions similaires

Réponses
2
Affichages
585

Statistiques des forums

Discussions
314 562
Messages
2 110 728
Membres
110 908
dernier inscrit
François19