A voir également:
- Découpe AUTO de colonne xls en format TXT sur
- Telecharger format factory - Télécharger - Conversion & Codecs
- Déplacer une colonne excel - Guide
- Format epub - Guide
- Decoupe pdf - Guide
- Format apfs - Guide
7 réponses
Matio
Messages postés
671
Date d'inscription
mardi 6 mars 2007
Statut
Membre
Dernière intervention
25 janvier 2011
299
5 déc. 2007 à 20:08
5 déc. 2007 à 20:08
Tu peux enregistrer au format csv
luckisurf
Messages postés
5
Date d'inscription
mercredi 5 décembre 2007
Statut
Membre
Dernière intervention
5 décembre 2007
5 déc. 2007 à 20:17
5 déc. 2007 à 20:17
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 ???
Utilisateur anonyme
5 déc. 2007 à 20:51
5 déc. 2007 à 20:51
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
luckisurf
Messages postés
5
Date d'inscription
mercredi 5 décembre 2007
Statut
Membre
Dernière intervention
5 décembre 2007
5 déc. 2007 à 20:53
5 déc. 2007 à 20:53
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
luckisurf
Messages postés
5
Date d'inscription
mercredi 5 décembre 2007
Statut
Membre
Dernière intervention
5 décembre 2007
5 déc. 2007 à 21:19
5 déc. 2007 à 21:19
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
luckisurf
Messages postés
5
Date d'inscription
mercredi 5 décembre 2007
Statut
Membre
Dernière intervention
5 décembre 2007
5 déc. 2007 à 21:35
5 déc. 2007 à 21:35
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
Utilisateur anonyme
6 déc. 2007 à 14:48
6 déc. 2007 à 14:48
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