Echange de données entre deux fichiers

Sly le globe trotter

XLDnaute Occasionnel
Bonjour à tous,

Je viens chercher dans ce super forum un peu d'aide pour une application...
Merci à ceux qui prendront le temps de lire ce message.

Dans un fichier Excel A, je cherche à importer une valeur générée par un fichier B. Idéalement, je souhaiterais procéder de la sorte :
  • Dans le fichier A, lancer une macro qui ouvre le fichier B
  • Dans le fichier B, effectuer les manipulations qui permettent de générer la valeur voulue. (Aujourd'hui la valeur que je cherche à récupérer est affichée dans un message)
  • Récupérer cette valeur pour la coller dans une cellule du fichier A.

Il me manque la méthodologie pour effectuer ces opérations.

Une fois que j'ai ouvert le fichier B à partir d'une macro dans le fichier A, comment aller chercher la valeur créée via les macros du fichier B ?

En espérant avoir été clair, je vous remercie pour votre aide
 

skoobi

XLDnaute Barbatruc
Re : Echange de données entre deux fichiers

Bonjour,

Si j'ai bien compris:
Pour récupérer des informations se trouvant dans un autre fichier ouvert, il suffit de préciser le fichier + la feuille concernée avant de faire référence à la cellule.
Par exemple:

Workbooks("toto.xls").Sheets("Feuil1").Range("A1").Value
 

Sly le globe trotter

XLDnaute Occasionnel
Re : Echange de données entre deux fichiers

Bonsoir Skoobi,

Merci pour ta réponse mais ce n'est pas exactement ce que je cherche à faire.

En fait la valeur que je cherche à récupérer n'existe pas dans le fichier B. Il faut la générer à partir de macros.
Une fois créée, cette valeur n'est pas écrite dans une cellule mais affichée dans un Msgbox.

J'espère avoir été plus précis
Merci encore
 
Dernière édition:

skoobi

XLDnaute Barbatruc
Re : Echange de données entre deux fichiers

Re bonjour,
En fait la valeur que je cherche à récupérer n'existe pas dans le fichier B. Il faut la générer à partir de macros.
Et bien une fois que la valeur est générée (que tu l'affiches dans un message ou une cellule n'augmente pas la difficulté) tu as juste a ajouter dans le code le copier/coller vers le fichier A non?
Mais tant que tu nous envoies pas le fichier avec le code, on va tourner en rond.
 

Sly le globe trotter

XLDnaute Occasionnel
Re : Echange de données entre deux fichiers

Bonjour Skoobi,

Le problème est que le code de mon fichier B est relativement compliqué.

Concretement des opérateurs ouvriront différentes versions de mon fichier A. Ces fichiers seront donc à différents endroits dans l'arborescence et auront des noms différents.

Du coup, je ne peux pas faire référence, depuis le fichier B, qui aura un nom et une adresse fixe aux différentes versions de mon fichier A...

Pour le moment, voici mon code dans le fichier A :
Code:
Private Sub RecupCodeArticle_Click()
Dim FicheArticle, Codeur As String

FicheArticle = ActiveWorkbook.Name

' Ouverture Fichier de Codification
Workbooks.OpenText Filename:=FichierAOuvrir, Origin:=xlWindows, _
                                StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
                                ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False _
                                , Space:=False, Other:=False

End Sub

Merci !
 

skoobi

XLDnaute Barbatruc
Re : Echange de données entre deux fichiers

Re,

Du coup, je ne peux pas faire référence, depuis le fichier B, qui aura un nom et une adresse fixe aux différentes versions de mon fichier A...

Tout dépend du nom qu'on chaque fichier A. Si c'est:
fichier A v1.xls
fichier A v2.xls
...
tu peux toujours récupérer le début du nom du fichier dans la macro pour y faire référence:

If WorkBooks(2).Name Like "fichier A*" Then 'ici on suppose que le fichier A est le deuxième fichier ouvert par excel.
 

skoobi

XLDnaute Barbatruc
Re : Echange de données entre deux fichiers

Est-il absolument nécessaire que le code soit dans le fichier B?
Pourquoi ne pas regrouper tous les codes dans les fichiers A (même si tu en as plusieurs, le code pourra rester le même logiquement).

Ou alors il faut s'assurer qu'il y a uniquement 2 fichiers ouvert:
le fichier A et B, là tu es sûr de faire référence au fichier A quelque soit son nom.
 

Sly le globe trotter

XLDnaute Occasionnel
Re : Echange de données entre deux fichiers

Salut Skoobi,

Je viens de penser à une solution qui devrait fonctionner, il me reste à la tester...

Dans le fichier B, je viens coller les informations du fichier A dont j'ai besoin... J'utilise ensuite dans les macros du fichier B ces informations !

Pas terrible mais ça devrait fonctionner :p
 

Discussions similaires

Statistiques des forums

Discussions
312 368
Messages
2 087 657
Membres
103 630
dernier inscrit
Azashoriu