Gerer des classeur dans plusieurs programme VBA

Bonjour a tous,

Je suis en train de faire un programme en vba dans lequel je fais appel a un autre classeur. Je souhaiterai savoir comment je peux utiliser le second classeur dans les différents programmes.

Actuellement je déclare le second classeur dans tous mes programmes. Le problème c'est qu'a chaque fois les programmes ouvrent le classeur en lecture seule vu qu'il est déjà ouvert dans un autre programme.

Comment puis-je initialiser mon classeur dans la feuille Générale pour pouvoir réutiliser dans tout les programmes.

Je vous remercie.

Thomas.

capture

Bonjour,

pourquoi tu l'ouvres dans une autre session excel ?

Ouvre-le dans la même et balaie la collection Worbooks pour voir s'il est déjà ouvert.

    Dim wb As Workbook
    For Each wb In Workbooks
        If wb.Name = "Classeur2.xlsm" Then Exit For
    Next wb
    If wb Is Nothing Then Workbooks.Open Filename:="E:\Téléchargement Chrome\Classeur2.xlsm"

Ensuite utilise la variable wb pour utiliser ce classeur

eric

bonjour

salut au passage eriic

sans ouvrir les classeurs

télécharge https://www.youtube.com/watch?v=gwW2CDdvUUs

inclus dans les Excel plus récents

menu Power Query, récupérer ou obtenir

ça crée une "sorte" de macro mais bien plus puissante et facile que VBA dans le rôle d'ETL

https://fr.wikipedia.org/wiki/Extract-transform-load

facile, fiable

ensuite tu actualises les requêtes

note : les données des fichiers sont rapatriées dans ton classeur de calculs, tu en fais ce que tu veux

amitiés à tous

Bonsoir,

Merci pour vous conseils, mais j'ai trouvé comment faire autrement en modifiant mon programme.

Thomas.

Ca serait bien de partager ta solution pour les futurs lecteurs.

Rechercher des sujets similaires à "gerer classeur programme vba"