Découpe AUTO de colonne xls en format TXT sur
luckisurf
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Découpe AUTO de colonne xls en format TXT sur le disque dur
Bonjour à toutes et à tous
MA QUESTION :
Je voudrais trouver une solution pour découper AUTOMATIQUEMENT des colonnes d'un fichier XLS en format texte par exemple.
J' ai créer un site en html simple avec excel , je voudrais un programme ou une formule pour découper automatiquement des dizaines de colonnes et qu'elles s'enregistre sur mon disuqe dur à un emplacement précis sous la forme .TXT (je me servirai d'un renomer pour changer l'entention en .HTML)
Et il faudrait que le fichier TXT porte le texte de la premiere cellule de la premiere colonne a découper , et ainsi de suite.
J'ai chercher, chercher, je tourne en rond, on parle de VBA mais je sais pas ce que c'est, on en tout cas je ne sais me servir de visual basic. Y a il moyen de créer une formule par exemple dans excel qui fasse ces enregistrements de colonnes en format txt de facon auto ? ou a chaque fois que je valide ou lance excel.
Merci de m'aider
en l'attente
LUCKISURF@yahoo.fr
Découpe AUTO de colonne xls en format TXT sur le disque dur
Bonjour à toutes et à tous
MA QUESTION :
Je voudrais trouver une solution pour découper AUTOMATIQUEMENT des colonnes d'un fichier XLS en format texte par exemple.
J' ai créer un site en html simple avec excel , je voudrais un programme ou une formule pour découper automatiquement des dizaines de colonnes et qu'elles s'enregistre sur mon disuqe dur à un emplacement précis sous la forme .TXT (je me servirai d'un renomer pour changer l'entention en .HTML)
Et il faudrait que le fichier TXT porte le texte de la premiere cellule de la premiere colonne a découper , et ainsi de suite.
J'ai chercher, chercher, je tourne en rond, on parle de VBA mais je sais pas ce que c'est, on en tout cas je ne sais me servir de visual basic. Y a il moyen de créer une formule par exemple dans excel qui fasse ces enregistrements de colonnes en format txt de facon auto ? ou a chaque fois que je valide ou lance excel.
Merci de m'aider
en l'attente
LUCKISURF@yahoo.fr
A voir également:
- Découpe AUTO de colonne xls en format TXT sur
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Déplacer colonne excel - Guide
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
7 réponses
merci matio mais je débute , c'est quoi CSV ??
tu connais un script qui enregistrer automatiquement les colonnes d'excell en VSV , puis je renome les fichier CSV en changant l'extention en html et ca marcherait ???
tu connais un script qui enregistrer automatiquement les colonnes d'excell en VSV , puis je renome les fichier CSV en changant l'extention en html et ca marcherait ???
Bonjour,
Sous Excel :
Aller sous VBE
[Alt] + [F11]
Clic droit sur le nom du classeur dans partie gauche
Choisir [Insertion/Module]
Dans le fenêtre de droite, faire un copier/coller de la
procédure ci-dessous :
Ensuite, sous Excel :
//Outils/Macro/Macro...
Choisir [FormatTexte]
Voir le fichier [1.html] dans le même dossier que le fichier excel.
Lupin
Sous Excel :
Aller sous VBE
[Alt] + [F11]
Clic droit sur le nom du classeur dans partie gauche
Choisir [Insertion/Module]
Dans le fenêtre de droite, faire un copier/coller de la
procédure ci-dessous :
Sub FormatTexte()
Dim objFSO As Object, objFichier As Object
Dim strFichier As String, Plage As Range
Dim Ligne As Long, Colonne As Long
Dim strLigne As String
' Chemin d'accès au fichier
strFichier = ThisWorkbook.Path & "\1.html"
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Création d'un fichier
Set objFichier = objFSO.CreateTextFile(strFichier, 2)
' Sélection de la plage à couvrir
Set Plage = Range("A1:C5")
strLigne = ""
' Pour chaque ligne de la sélection
For Ligne = 1 To Plage.Rows.Count
' Pour chaque colonne de la sélection
For Colonne = 1 To Plage.Columns.Count
' Si dernière colonne, place code saut de ligne en html
If (Colonne = Plage.Columns.Count) Then
strLigne = strLigne & Cells(Ligne, Colonne).Value & "<BR>"
Else
' Sinon, ajoute un espace entre chaque saisie
strLigne = strLigne & Cells(Ligne, Colonne).Value & " "
End If
Next Colonne
' Écrire nouvelle ligne
objFichier.WriteLine strLigne
Next Ligne
' Fermeture du fichier
objFichier.Close
End Sub
'
Ensuite, sous Excel :
//Outils/Macro/Macro...
Choisir [FormatTexte]
Voir le fichier [1.html] dans le même dossier que le fichier excel.
Lupin
Petite precision
j'ai pas Microsoft Office mais OPEN office et star office ??
est ce pareil ??
(merci de ton aide)
j'ai pas Microsoft Office mais OPEN office et star office ??
est ce pareil ??
(merci de ton aide)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai reussit a trouver ou ca se fait dans open office
je la copie,
je l'enregistre
je vais dans executer macro
il propose celle que j'ai créée avec FOMAT TXT
je valide mais j'ai une erreur dans la formule ou je devais changer quelque chose
erreur syntaxe
type de données range inconnues
Dois je remodifier la formule ??
moi j'ai 144 colonnes qui ont chacunes 84 lignes
colonne 1: de B1 a B84 jusqu'à colonne XT1 à XT84
B1 --- ------ XT1
.
.
.
.
B84 --------- XT84
et je suis sur la feuille intitulée Feuille3
Merci de ton aide
LUCKISURF
je la copie,
je l'enregistre
je vais dans executer macro
il propose celle que j'ai créée avec FOMAT TXT
je valide mais j'ai une erreur dans la formule ou je devais changer quelque chose
erreur syntaxe
type de données range inconnues
Dois je remodifier la formule ??
moi j'ai 144 colonnes qui ont chacunes 84 lignes
colonne 1: de B1 a B84 jusqu'à colonne XT1 à XT84
B1 --- ------ XT1
.
.
.
.
B84 --------- XT84
et je suis sur la feuille intitulée Feuille3
Merci de ton aide
LUCKISURF
J'ai modifié la plage (c'est pas XT mais DT la valeur max)
J'ai indiqué la plage B1 à DT85 comme ci dessus mais toujurs la meme erreur de range
Dois je renseigner autre chose ?? l'adresse de mon fichier XLS sur mon disque dur
Quand c'est marqué ligne et colonne (en francais) doisje le remplacer ??
est ce a cause de cela l'erreur de range ??
Si tu réussi à m'aider à faire cette decoupe auto de colonne en TXT, je te promet que je t'envoi une de chocolat par la poste (promis, juré , craché ! lol )
ca fait 15 jour que j'enregistre mes 144 pages une a une (quand je modifie le site) et ca serait hyper sympa de trouver un truc qui le fasse d'un clic
si j'ai texte dans ma cellule b1 "voiture" et dans C1"choufleur" , est ce trop demandé que les colonnes se decoupe en TXT respectivement en voiture.txt (la premiere colonne) et choufleur.txt (la seconde colonne et ainsi de suite)
Merci de votre aide
REM ***** BASIC *****
Sub FormatTexte()
Dim objFSO As Object, objFichier As Object
Dim strFichier As String, Plage As Range
Dim Ligne As Long, Colonne As Long
Dim strLigne As String
' Chemin d'accès au fichier
strFichier = ThisWorkbook.Path & "\1.html"
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Création d'un fichier
Set objFichier = objFSO.CreateTextFile(strFichier, 2)
' Sélection de la plage à couvrir
Set Plage = Range("B1:DT85")
strLigne = ""
' Pour chaque ligne de la sélection
For Ligne = 1 To Plage.Rows.Count
' Pour chaque colonne de la sélection
For Colonne = 1 To Plage.Columns.Count
' Si dernière colonne, place code saut de ligne en html
If (Colonne = Plage.Columns.Count) Then
strLigne = strLigne & Cells(Ligne, Colonne).Value & "<BR>"
Else
' Sinon, ajoute un espace entre chaque saisie
strLigne = strLigne & Cells(Ligne, Colonne).Value & " "
End If
Next Colonne
' Écrire nouvelle ligne
objFichier.WriteLine strLigne
Next Ligne
' Fermeture du fichier
objFichier.Close
End Sub
J'ai indiqué la plage B1 à DT85 comme ci dessus mais toujurs la meme erreur de range
Dois je renseigner autre chose ?? l'adresse de mon fichier XLS sur mon disque dur
Quand c'est marqué ligne et colonne (en francais) doisje le remplacer ??
est ce a cause de cela l'erreur de range ??
Si tu réussi à m'aider à faire cette decoupe auto de colonne en TXT, je te promet que je t'envoi une de chocolat par la poste (promis, juré , craché ! lol )
ca fait 15 jour que j'enregistre mes 144 pages une a une (quand je modifie le site) et ca serait hyper sympa de trouver un truc qui le fasse d'un clic
si j'ai texte dans ma cellule b1 "voiture" et dans C1"choufleur" , est ce trop demandé que les colonnes se decoupe en TXT respectivement en voiture.txt (la premiere colonne) et choufleur.txt (la seconde colonne et ainsi de suite)
Merci de votre aide
REM ***** BASIC *****
Sub FormatTexte()
Dim objFSO As Object, objFichier As Object
Dim strFichier As String, Plage As Range
Dim Ligne As Long, Colonne As Long
Dim strLigne As String
' Chemin d'accès au fichier
strFichier = ThisWorkbook.Path & "\1.html"
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Création d'un fichier
Set objFichier = objFSO.CreateTextFile(strFichier, 2)
' Sélection de la plage à couvrir
Set Plage = Range("B1:DT85")
strLigne = ""
' Pour chaque ligne de la sélection
For Ligne = 1 To Plage.Rows.Count
' Pour chaque colonne de la sélection
For Colonne = 1 To Plage.Columns.Count
' Si dernière colonne, place code saut de ligne en html
If (Colonne = Plage.Columns.Count) Then
strLigne = strLigne & Cells(Ligne, Colonne).Value & "<BR>"
Else
' Sinon, ajoute un espace entre chaque saisie
strLigne = strLigne & Cells(Ligne, Colonne).Value & " "
End If
Next Colonne
' Écrire nouvelle ligne
objFichier.WriteLine strLigne
Next Ligne
' Fermeture du fichier
objFichier.Close
End Sub
Bonjour,
Bien entendu, la fonction que j'ai codé ne fonctionne pas sous Calc, et je suis débutant sous Calc.
Toutefois, je puis vous p^roposer une solution de contournement.
Sous Calc, il vous est possible d'enregistrer au format CSV comme dit par Matio.
// Menu / Enregistrer sous
Choisir le type de fichier [ Format texte CSV ]
1.) Enregistrer tous les classeurs Calc au format CSV dans un dossier spécifique :
Exemple : [ C:\Resultats ]
2.) Créer un sous dossier [ Scripts ]
3.) Copier le fichier [ Extraction.vbs ] dans le dossier créé.
[ C:\Resultats\Scripts\Extraction.vbs ]
( Le fichier sera contruit à partir du script ci dessous.)
4.) Lancer l'exécution du script.
5.) Tous les fichiers converti se retrouve dans le répertoire [ Scripts ].
Script Extraction.vbs
Lupin
Bien entendu, la fonction que j'ai codé ne fonctionne pas sous Calc, et je suis débutant sous Calc.
Toutefois, je puis vous p^roposer une solution de contournement.
Sous Calc, il vous est possible d'enregistrer au format CSV comme dit par Matio.
// Menu / Enregistrer sous
Choisir le type de fichier [ Format texte CSV ]
1.) Enregistrer tous les classeurs Calc au format CSV dans un dossier spécifique :
Exemple : [ C:\Resultats ]
2.) Créer un sous dossier [ Scripts ]
3.) Copier le fichier [ Extraction.vbs ] dans le dossier créé.
[ C:\Resultats\Scripts\Extraction.vbs ]
( Le fichier sera contruit à partir du script ci dessous.)
4.) Lancer l'exécution du script.
5.) Tous les fichiers converti se retrouve dans le répertoire [ Scripts ].
Script Extraction.vbs
'------------------------------------------------------------------------------------------------------------------------
' Fichier Script Extraction.vbs
'
' Création : Jeudi, le 6 Décembre 2007
'
' Modifié :
'
'------------------------------------------------------------------------------------------------------------------------
'
' Déclaration des constantes
'
Const cteLecture = 1
Const cteEcriture = 2
Const cteAjouter = 8
'
' Déclaration des variables globales
'
Dim objFSO
Dim strNomFichier, objFichier, objResultat
Dim strMessage, strLigne, strCarac, strNewLigne
Dim strNomDossier, objDossier, strFichier, strNewFichier
strNomDossier = WScript.ScriptFullName
strNomDossier= Left(strNomDossier, InStrRev(strNomDossier, "\"))
strNomDossier= Mid(strNomDossier,1,(Len(strNomDossier) - 1))
strNomDossier= Left(strNomDossier, InStrRev(strNomDossier, "\"))
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objDossier = objFSO.GetFolder(strNomDossier)
For Each strFichier In objDossier.Files
MiseEnForme strFichier, strNomDossier
Next
Set objFSO = Nothing
strMessage = ""
strMessage = strMessage & "Fin de Traitement." & vbLf & vbLf
strMessage = strMessage & "Merci de votre attention." & vbLf
strMessage = strMessage & "Bonne journée." & vbLf & vbLf
strMessage = strMessage & "Lupin" & vbLf
strMessage = strMessage & "Technicien en électronique/Informatique"
MsgBox strMessage
WScript.Quit(0)
'------------------------------------------------------------------------------------------------------------------------
Function MiseEnForme (strCeFichier, strLeDossier)
Dim strNomTemp
strNomTemp = strCeFichier.ShortName
strNomTemp = Mid(strNomTemp, 1, (Len(strNomTemp) - 3 ) )
strNewFichier = WScript.ScriptFullName
strNewFichier = Left(strNewFichier, InStrRev(strNewFichier, "\"))
strNewFichier = strNewFichier & strNomTemp & "html"
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objFichier = objFSO.OpenTextFile(strCeFichier,cteLecture)
Set objResultat = objFSO.CreateTextFile(strNewFichier, cteEcriture)
objResultat.WriteLine "<html>"
objResultat.WriteLine "<body>"
Indice = 1
While Not objFichier.AtEndOfStream
strNewLigne = ""
strLigne = objFichier.ReadLine
For Boucle = 1 To Len(strLigne)
strCarac = Mid(strLigne, Boucle, 1)
If ( strCarac <> """" ) Then
strNewLigne = strNewLigne & strCarac
End If
Next
strNewLigne = strNewLigne & "<br>"
objResultat.WriteLine strNewLigne
Wend
objFichier.Close
objResultat.WriteLine "</body>"
objResultat.WriteLine "</html>"
objResultat.Close
Set objResultat = Nothing
Set objFichier = Nothing
Set objFSO = Nothing
End Function
'------------------------------------------------------------------------------------------------------------------------
Lupin