Utiliser un classeur d'un fichier sans l'ouvrir

Résolu
NoviceVBA2017 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -  
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   -
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
A voir également:

1 réponse

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
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.
0
NoviceVBA2017 Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
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!
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
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
0