Interférences de calculs de fonctions entre 2 fichiers ouverts => #VALEUR

Bonjour,

J'utilise deux fichiers "jumeaux" pour suivre deux sujets différents mais ayant le même fonctionnement :

* Les deux fichiers sont indépendants, il n'y a aucun lien entre eux

* Mêmes fonctions VBA chacun dans son module => les seules personnalisations en tête de module sont les variables contenant le nom du fichier et le nom du tableau contenant les données

* Mêmes onglets

Je constate que lorsque les deux fichiers sont ouverts en même temps, un seul exécute correctement les fonctions VBA, l'autre fichier affiche #VALEUR!.

Il suffit de modifier une cellule (ou de faire "Suppr" dans une cellule vide) dans celui-ci pour toutes les fonctions affichent correctement leurs résultats.

Instantanément les cellules contenant des fonctions VBA du premier fichiers affichent #VALEUR! et ainsi de suite quand on passe d'un fichier à l'autre.

Parfois #VALEUR! s'affiche à l'ouverture d'un des deux fichiers jumeaux. L'affichage normal des fonctions revient dès la première modification du fichier.

J'ai un troisième fichier qui collecte des informations dans les deux fichiers jumeaux. Le troisième fichier ne comporte pas de fonction ni de macro.

Le phénomène se reproduit aussi quand un des deux fichiers jumeaux est ouvert en même temps que le troisième fichier.

C'est comme si le fichier actif interdisait aux autres fichiers ouverts d'exécuter leurs fonctions VBA.

J'ai placé Application.Volatile en tête des fonctions.

Avez-vous une idée pour expliquer le phénomène et surtout le résoudre ?

Merci d'avance.

Bonjour,

Une idée. Est-ce que vos codes mentionnent bien Thisworkbook quand vous mentionnez le nom des feuilles ?

Cordialement

Bonjour Dan,

Non, je n'utilise pas Thisworkbook :

Je définis une variable qui pointe sur la colonne libellée TSE_Lib_Numéro_Etude du tableau nommé Nom_Tableau_suivi_Etudes qui est situé dans l'onglet Onglet_Suivi :

Set No_Etude = Worksheets(Onglet_Suivi).ListObjects(Nom_Tableau_suivi_Etudes).ListColumns(TSE_Lib_Numéro_Etude).DataBodyRange

Pour poster un code, veillez à utiliser les balises de code en cliquant sur l'icone </> disponible dans la barre de menu et en collant le code dans la fenêtre.

Essayez ceci :

Set No_Etude = Thisworkbook.Worksheets(Onglet_Suivi).ListObjects(Nom_Tableau_suivi_Etudes).ListColumns(TSE_Lib_Numéro_Etude).DataBodyRange

Merci Dan ! Problème réglé !

Et merci aussi pour le </>, je suis tout nouveau et pas encore tout compris/intégré !

Rechercher des sujets similaires à "interferences calculs fonctions entre fichiers ouverts valeur"