Remplir des cellules depuis un batch

OnDeath

XLDnaute Nouveau
Bonjour,

je souhaiterais savoir si il existe un moyen de remplir certaines cellules d'une feuille Excel en récupérant les données depuis un batch. J'imagine que cela doit passer par un fichier txt lui même généré par le batch mais je n'ai aucune idée comment faire.
 

job75

XLDnaute Barbatruc
Re : Remplir des cellules depuis un batch

Bonjour OnDeath, bienvenue sur XLD,

A priori on peut ouvrir le fichier nommé MonFichier d'extension .bat ou .txt avec ces codes VBA :

Code:
Sub test1()
Workbooks.Open "MonFichier.bat"
End Sub

Sub test2()
Workbooks.Open "MonFichier.txt"
End Sub
(le fichier étant dans le répertoire en cours).

Le fichier s'ouvre alors sous forme d'une feuille Excel dont on peut analyser/traiter les cellules comme on veut.

A+
 

OnDeath

XLDnaute Nouveau
Re : Remplir des cellules depuis un batch

Merci de vos réponses... mais je n'ai pas réussi à avancer avec ça. J'ai besoin de procéder en quelque sorte à l'envers de ces solutions.
Voici ce que j'ai pour le moment

batch:
set /p NomClient=Nom:
mkdir "%NomClient%"
cd %NomClient%
start resultats.xls

cela fonctionne sans soucis, mais j'aimerais récupérer le contenu de la variable NomClient et l'écrire par exemple dans la cellule A1 de Excel.

Merci de votre aide
Bonne année
 

PMO2

XLDnaute Accro
Re : Remplir des cellules depuis un batch

Bonjour,

batch:
set /p NomClient=Nom:
mkdir "%NomClient%"
cd %NomClient%
start resultats.xls

Cela fonctionne sans souci, mais j'aimerais récupérer le contenu de la variable NomClient et l'écrire par exemple dans la cellule A1 de Excel.

J'ai fait une version 2003 et une version 2007 (cette dernière impose de modifier le batch pour avoir, en dernière ligne, "start resultats.xlsm").

Dans chaque classeur resultats.xls ou resultats.xlsm, il faut copier le code suivant dans la fenêtre de code de ThisWorkbook
Code:
Private Sub Workbook_Open()
Dim A$
A$ = Environ("NomClient")   'NomClient correspond à la variable de l'instruction du batch "set /p NomClient=Nom:"
If A$ <> "" Then [a1] = A$
End Sub
Les dossiers contenant les différents classeurs doivent être dans le même dossier que le batch.
Ci-joint, les dossiers exemples (2003/2007).
 

Bertimore

XLDnaute Nouveau
Re : Remplir des cellules depuis un batch

Bonjour,



J'ai fait une version 2003 et une version 2007 (cette dernière impose de modifier le batch pour avoir, en dernière ligne, "start resultats.xlsm").

Dans chaque classeur resultats.xls ou resultats.xlsm, il faut copier le code suivant dans la fenêtre de code de ThisWorkbook
Code:
Private Sub Workbook_Open()
Dim A$
A$ = Environ("NomClient")   'NomClient correspond à la variable de l'instruction du batch "set /p NomClient=Nom:"
If A$ <> "" Then [a1] = A$
End Sub
Les dossiers contenant les différents classeurs doivent être dans le même dossier que le batch.
Ci-joint, les dossiers exemples (2003/2007).
Bonjour PM02,
Pourriez-vous m'envoyer ces scripts?
Merci
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 450
Messages
2 109 731
Membres
110 553
dernier inscrit
loic55