VBA - macro création de fichier texte
Bonjour à tous,
Je suis novice en macro excel
Je souhaite faire une macro qui me permet de créer 3 fichiers texte (nantes.txt, bordeaux.txt, marseille.txt) listant les variable (présente dans le document excel).
De plus je souhaite créer ces fichiers dans un répertoire spécifique, par exemple "C:\test\variable"
Le résultat attendu des 3 fichiers est le suivant :
nantes.txt :
Domaine:
domaine.nantes
- (123456)
- (321654)
Name:
nantes
clisson
saint-herblain
ntp:
server.nantes.ntp
aaa.ntp
OS_version:
17.10
memory_tomcat:
2G
crontab_purge:
* * * * echo nantes
Apache_version:
2.4
home_path:
/home/nantes
bordeaux.txt :
Domaine:
domaine.bordeaux
- (145684156)
Name:
domaine.bordeaux
saint-emilion
ntp:
server.bordeaux.ntp
bbb.ntp
OS_version:
16.04
memory_tomcat:
4G
crontab_purge:
* * * * echo bordeaux
Apache_version:
2.2
home_path:
/home/bordeaux
marseille.txt :
Domaine:
domaine.marseille
- (123456)
- (321654)
- (54541515654658)
Name:
domaine.marseille
- (la ciotat)
aubagne
ntp:
microsoft.ntp
ccc.ntp
OS_version:
16.04
memory_tomcat:
3G
crontab_purge:
* * * * echo marseille
Apache_version:
2.4
home_path:
/home/marseille
Merci par avance pour votre aide.
Salut,
Un début pour bosser et faire des recherches sur le net sur la manipulation de fichier:
Sub Creation()
Dim i As Integer
'on ouvre en output pour détruire le contenu du fichier si celui ci existe pour avoir un fichier vide
Open "C:\Users\Desktop\" & "TON_NOM" & ".txt" For Output As #2
'ou directement par exemple Open "C:\Users\Desktop\Nantes.txt" For Output As #2
Close #2
'on réouvre (le fichier vide donc) ou on créé le nouveau fichier s'il n'existe pas
Open "C:\Users\ Desktop\" & "TON_NOM" & ".txt" For Append As #2
'on écrit le début du codage
Print #2, "ceci est le titre du fichier texte"
'ligne vide il suffit de faire ca je pense (je n'ai pas testé):
Print #2, ""
Print #2, "ceci est la ligne 1"
‘tu peux boucler sur ton fichier excel pour reprendre les lignes, ce qui est intéressant dans ton cas je pense, par exemple
Do until sheets("NANTES").cells(LIGNE,1).value <> ""
'ou tu fais un for i = X to Y loop si tu connais tes lignes fixes dans ton fichier excel
Print #2, cells(LIGNE,1).value
LIGNE = LIGNE+1 'on va voir la prochaine ligne
loop
'important, on referme bien le fichier pour ne pas qu'il soit considéré comme utilisé et qu'excel ne travaille plus dedans
Close #2
End Sub
ECG
Merci beaucoup, c'est exactement ca