Utiliser un classeur d'un fichier sans l'ouvrir

[Résolu/Fermé]
Signaler
Messages postés
26
Date d'inscription
dimanche 29 janvier 2017
Statut
Membre
Dernière intervention
6 mai 2019
-
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
-
Bonjour,

Je suis novice en programmation VBA, j'ai fait des recherches mais je n'utilise peut être pas les bons mots clé...

Je cherche tout simplement à faire cette action en utilisant une macro :

J'ouvre mon fichier Excel A.
Lorsque je lance ma macro de mon fichier A, le programme va comparer la cellule A1 du fichier A, et la comparer avec la cellule A1 d'un fichier B (qui est dans un autre dossier).

J'ai réussi à trouver sur le forum comment ouvrir un fichier dans un autre dossier mais ça ne me satisfait pas : je ne veux surtout pas que le fichier B s'ouvre (ou tout du moins, s'affiche).
Je ne veux pas non plus passer par la copie de la feuille du fichier B vers le fichier A pour ensuite les comparer.

Pouvez-vous me venir en aide?

Cordialement

1 réponse

Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 539
Bonjour,

Si tu veux comparer tes 2 fichiers sans toucher au fichier B, le plus simple et la plus rapide, c'est d'ouvrir le B en masqué, récupérer les données dans une table et le refermer. Ensuite ta comparaison en table sera beaucoup plus rapide, même sans savoir le résultat précis que tu souhaites.
Messages postés
26
Date d'inscription
dimanche 29 janvier 2017
Statut
Membre
Dernière intervention
6 mai 2019

Bonjour gbinforme,

Tout d'abord merci pour cette réponse rapide.

Oui cette option d'ouvrir le fichier en masqué conviendrait très bien à l'utilisation que je veux en faire. Je ne savais pas que c'était possible, je vais chercher le code.

Merci encore!
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 539
re
Avec ceci tu récupères dans la table 'tbd' ton classeur pour pouvoir faire tes comparaisons ensuite.
Dim tbd
    Application.ScreenUpdating = False
    Workbooks.Open chemin
    tbd = ActiveSheet.UsedRange.Cells.Value
    ActiveWorkbook.Close False
    Application.ScreenUpdating = True