VBA - DisplayAlerts et Function

tototiti2008

XLDnaute Barbatruc
Bonjour à tous,

je sais que l'utilisation de fonctions limite certaines possibilités dans le code, et je viens de voir que la fameuse commande

Application.DisplayAlerts = False

qui désactive les messages d'Excel ne fonctionne pas dans une Function

cependant, j'ai essayé de détourner le problème en appelant une Sub dans ma Function, qui elle désactive les messages : ne marche pas non plus.

Comme cette fonction devra être utilisée dans la feuille de calcul, et que certains messages (longueur d'attente d'une connection OLE) apparaissent, quelqu'un connait-il d'autres trucs pour désactiver les messages d'alertes ?

Merci d'avance
 

BERRACHED said

XLDnaute Accro
Re : VBA - DisplayAlerts et Function

Ré,


essayé ca aussi pour la gestion de l'erreur :

Code:
    On Error GoTo gesterr
    Application.DisplayAlerts = False
  la suite du code 
        Application.DisplayAlerts = True   
    Exit Sub  
gesterr:
    Application.DisplayAlerts = True
    MsgBox "ERREUR : " & Err.Description

Cordialement
 

tototiti2008

XLDnaute Barbatruc
Re : VBA - DisplayAlerts et Function

Merci Said, mais malheureusement ça ne fonctionne pas...

un exemple qui aidera peut-être à comprendre :
 

Pièces jointes

  • attente.zip
    16 KB · Affichages: 132
  • attente.zip
    16 KB · Affichages: 145
  • attente.zip
    16 KB · Affichages: 151

MichelXld

XLDnaute Barbatruc
Re : VBA - DisplayAlerts et Function

bonjour

Je présume que ta pièce jointe est un simple exemple qui ne représente pas l'ensemble de ton projet mais es tu obligé de lancer une procédure Access depuis Excel ?

Pourquoi ne pas réécrire la procédure complète en VBA Excel ?
Qu'est sensée faire la macro Access ?


bonne journée
michel
Microsoft Excel MVP
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : VBA - DisplayAlerts et Function

Bonjour MichelXLD,

Merci de t'interesser :)

En réalité, ce n'est pas moi qui ai développé ce concept...
Le but est de créer une fonction Excel (que l'on pourra utiliser dans la feuille de calcul) qui entraine un calcul trés lourd, à tel point qu'Excel est trop limité en mémoire pour le mener à bien, d'où l'appel à Access.
Je ne suis pas sûr d'approuver la méthode mais pour dépanner, je voulais savoir s'il était possible de désactiver les messages d'alertes Excel en passant par autre chose que DisplayAlerts qui ne fonctionne visiblement pas dans une Function (ce qui peut se comprendre...).

En réalité, j'ignore le traitement réalisé par Access... mais ça a l'air d'être une belle usine à gaz. :)
 

MichelXld

XLDnaute Barbatruc
Re : VBA - DisplayAlerts et Function

Rebonjour ... ;o)


Je précise que sur Excel 2007 je n'ai pas eu de message d'alerte mais une fenêtre d'aide Office qui apparait un quart de seconde au moment du recalcul.


à tel point qu'Excel est trop limité en mémoire pour le mener à bien
Dans ce cas il vaudrait mieux tout faire dans Access pour ne pas avoir à crér une usine à gaz.


Lancer la procédure depuis Excel est déjà assez curieux, le faire par une fonction (si ce n'est pas pour importer des données) l'est encore plus.
Pourquoi ne pas utiliser une procédure Sub ?


bon week end
michel
Microsoft Excel MVP
 

tototiti2008

XLDnaute Barbatruc
Re : VBA - DisplayAlerts et Function

amusant, c'est exactement la question que j'ai posée :

Pourquoi ne pas utiliser une procédure Sub ?

Bon, je n'ai pas tous les paramètres en main, et il semblerait qu'il faille une fonction. Personnellement, je trouve ça lourd car le moindre recalcul va entrainer des attentes interminables... enfin merci de t'être intéressé.
La solution est sans doute une Sub, plutôt que de désactiver ce message répétitif qui dit que l'attente est longue...
 

Pièces jointes

  • message.JPG
    message.JPG
    9.4 KB · Affichages: 183
  • message.JPG
    message.JPG
    9.4 KB · Affichages: 202
  • message.JPG
    message.JPG
    9.4 KB · Affichages: 189

Statistiques des forums

Discussions
312 192
Messages
2 086 054
Membres
103 110
dernier inscrit
Privé