Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Remplir des cellules depuis un batch

  • Initiateur de la discussion Initiateur de la discussion OnDeath
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

O

OnDeath

Guest
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.
 
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+
 
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
 
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).
 
Re : Remplir des cellules depuis un batch

Merci j'ai enfin compris comment ça fonctionnait et je viens de tester dans mon cas tout marche nickel.
Merci à vous deux
 
Bonjour PM02,
Pourriez-vous m'envoyer ces scripts?
Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
731
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…