XL 2016 Créer série de fichiers bat par vba

Tech

XLDnaute Junior
Bonjour forum,
J'ai essayé de rechercher sur le net mais je ne trouve pas de réponse à ma question. Peut être ai-je mal cherché.

Voila, j'ai programmé des fichiers bat sur plusieurs ordinateurs afin de modifier les adresses IP de ces PC.
Ce sont des ordinateurs dédiés à la maintenance et les utilisateurs utilisent un fichier bat en fonction de l'endroit ou ils se connectent.
Suite à une mise à jour du système d'exploitation, je dois revoir complètement l'ensemble de ces fichiers bat et les adresses IP qu'ils programment.
Ma question est : Je voudrais savoir si il est possible de créer un code VBA pour écrire tous ces fichiers selon un tableau d'adresse que j'aurais préalablement écrit dans excel.
la commande que j'écris dans chaque fichier est plutôt simple :
netsh interface ip set address "Nom de la carte réseau" static 192.168.1.1 255.255.255.0
et chaque fichier est programmé avec une adresse ip différente.

Je vous remercie d'avance pour l'aide que vous pourrez m'apporter.
Cordialement
Tech
 

Tech

XLDnaute Junior
Bonjour Danreb,

Merci beaucoup pour ce petit bout de code. J'ai passé un peu de temps à le modifier pour l'adapter à mes besoins, mais le résultat est bien la:)

voici à quoi ça ressemble après modif :

sub test()
set T = [Plage] 'Cellule nommée correspondant au début de la liste d'adresse IP (sur plusieurs lignes et colonnes)
Do while not is empty(T)
Compte = Compte + 1
Do while not is empty(T)
ChNomFic = "Connexion au réseau " & T
Open ChNomFic & ".bat" For Output As #1
Print #1, "netsh interface ip set address ""Nom de la carte réseau"" static " & T & " 255.255.255.0" & VbCrLf & _
"Pause" & VbCrLf & "IPCONFIG" & "Pause"
Close #1
set T = T.Offset(1)
Loop
Set T = [Plage].offset(0,Compte)
loop
End Sub

Encore merci
Une nouvelle fois un problème solutionné sur ce super forum :D
Tech
 

Tech

XLDnaute Junior
Bonjour à tous,

J'aurais besoin d'une petite précision par rapport au code ci dessus.
Le code pour créer les fichiers .bat fonctionne parfaitement, mais pour le compléter, je voudrais que les fichiers soient enregistrés dans un dossier portant un nom bien précis. Actuellement, les fichiers sont tous crées dans les dossier mes documents. Les noms que je voudrais donner aux dossiers figurent sur le tableau qui me sert à créer toutes les adresses. En fait, j'aurais juste besoin du bout de code qui enregistrerait le fichier #1 dans un dossier voulu.
Sur le net, je trouve beaucoup de choses qui parlent du workbook.SaveAs mais cela concerne les fichiers xls.
J'ai aussi essayé de créer le nom des dossiers par variable en ajoutant \dossier1\dossier2\ devant le nom du fichier à créer mais j'ai une erreur "chemin d'accès introuvable" sur la ligne open chNomFic.

Est-ce que quelqu'un connaîtrait la solution svp ?
Merci d'avance.
Tech
 

Dranreb

XLDnaute Barbatruc
Bonjour.
En ajoutant la lettre du lecteur et ":" devant ça devrait marcher.
Sinon vous pouvez aussi faire ChDrive "C': ChDir "C:\dossier1\dossier2"
si dossier1 et dossiers2 sont des variables il ne faut pas les figer, bien sûr dans la chaine
ChNomFic = "C:\" & Dossier1 & "\" & Dossier2 & "\Connexion au réseau " & T
 

Tech

XLDnaute Junior
Super, merci Danreb pour cette réponse ultra rapide. Je n'ai pas le temps de tester ça ce soir, mais je me doute que la solution est sûrement la.
Je vois ça demain et je ferai un retour.
Encore merci :D
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin