transforme unix en windows [VBA] - VB/VBA/VBS - Programmation
Marsh Posté le 29-11-2013 à 12:24:09
Bonjour Julie.
juliedu63 a écrit : J'ai essayer unix2dos, mais cela m'affiche une fenetre et je veux pas que les utilisateurs gère cela. |
As-tu pensé à regarder si cet utilitaire dispose de paramètres ?
Sinon un fichier texte n'étant qu'un fichier texte, pas besoin d'utilitaire, suffit d'éditer le fichier puis repérer
quelle est la séquence de fin de ligne soit pour la remplacer par celle de Windows
soit pour directement spliter les lignes en VBA sur cette séquence …
Au passage, ton code ne lit pas cinq lignes mais six !
Marsh Posté le 29-11-2013 à 12:56:58
Tout d'abord, Merci d'avoir répondu.
L'utilitaire ne dispose pas de paramètre. J'ai essayé en rajoutant des paramètres chemin du fichier,...
Quand on édite un fichier texte, est-on obligé de l'ouvrir sous Excel ?
Cela veut dire quoi spliter ? Puis avoir plus d'explications pour pouvoir tester le code.
Merci de votre remarque sur mon nombre de lignes.
Bonne continuation Marc,
Julie
Marsh Posté le 29-11-2013 à 14:11:19
juliedu63 a écrit : L'utilitaire ne dispose pas de paramètre. J'ai essayé en rajoutant des paramètres chemin du fichier,... |
Pour vérifier si un programme dispose de paramètres,
le B-A-BA est de l'appeler dans une fenêtre d'Invite de commandes suivi de /? …
juliedu63 a écrit : Quand on édite un fichier texte, est-on obligé de l'ouvrir sous Excel ? |
Non, j'entendais un éditeur (texte / hexadécimal) de fichiers …
juliedu63 a écrit : Cela veut dire quoi spliter ? |
Référence à la fonction Split de VBA …
Sinon sans connaître la séquence de fin de ligne sous Unix ou d'avoir un lien sur un tel fichier …
Marsh Posté le 29-11-2013 à 15:52:12
Comme la fin de ligne sous Unix pourrait être le code de caractère n°10 (sinon \n ?),
j'ai un gros doute du coup car de plus j'ai laissé passer ceci :
juliedu63 a écrit : […] or mon code ne fonctionne pas pour fichier txt unix. |
En clair, sans décodeur, quel est exhaustivement le souci ?
Marsh Posté le 29-11-2013 à 15:57:37
Merci pour tes réponses.
Désolé si je n'étais pas assez clair.
Je souhaite pouvoir transformer les fichiers unix en windows sans que l'utilisateur ne s'occupe de cette transformation.
Car, en effet, quand je lance unix2dos il y a toujours une fenetre qui apparait.
Merci de vos réponses.
Julie
Marsh Posté le 29-11-2013 à 16:04:40
Donc "or mon code ne fonctionne pas pour fichier txt unix" n'a alors aucun rapport ‼
Si cet utilitaire n'a pas de paramètre en ligne de commandes, pas de solution si ce n'est faire autrement …
Marsh Posté le 29-11-2013 à 16:06:23
Avez vous alors des conseils à me donner sur le Autrement.
Merci de votre réponse.
Marsh Posté le 29-11-2013 à 16:17:03
Comment le pourrais-je vu que le souci n'est toujours pas exhaustivement présenté ?‼
Si tu ouvres directement le fichier, y a t-il un souci ? Et si oui, quel est le besoin ?
A quoi sert l'utilitaire ?
S'il a une réelle utilité, soit l'utiliser au préalable avant de lancer Excel,
soit en chercher un autre répondant à tes critères soit penser à créer ta propre procédure de conversion …
Si une fenêtre apparait mais que l'utilitaire fonctionne, franchement ce n'est pas un problème !
Au passage dans le code il faut inverser les lignes n°… (ah zut le code n'est pas entre balises grâce à l'icône dédiée)
l'utilitaire doit être appelé avant l'ouverture du fichier ! …
Marsh Posté le 29-11-2013 à 16:26:18
Je dois réaliser un aperçu du fichier (ces 6 premières lignes) en cliquant sur un bouton.
Cet aperçu fonctionne qu'avec les fichiers txt windows.
Le but étant de trouver une solution pour transformer le txt Unix en txt WIndows afin de pouvoir afficher ces 6 premières lignes sans que l'utilisateur est besoin de faire quoi que ce soit.
Merci de vos réponses.
Julie
Marsh Posté le 29-11-2013 à 16:55:58
Là je n'ai plus le temps, je passe la main à un autre intervenant car sans réponse précise
à toutes mes questions aucune aide je ne pourrais apporter même avec toute la bonne volonté possible …
Marsh Posté le 01-12-2013 à 17:12:50
Marc L a écrit : Au passage dans le code il faut inverser les lignes n°… (ah zut le code n'est pas entre balises grâce à l'icône dédiée) |
Appeler l'utilitaire avec le fichier en paramètre (…) avant de l'ouvrir au sein la procédure VBA …
Marsh Posté le 10-12-2013 à 13:07:16
Bonjour,
Exceusez moi pour le message précédent.
Finalement j'ai trouvé une solution : code perl + affichage via un autre userform.
Merci de m'avoir toutde même aider.
Cordialement,
Julie
Marsh Posté le 29-11-2013 à 10:42:34
Bonjour,
Malgré mes différentes recherches, je n'ai pas pu trouver mon bonheur.
Je cherche à avoir un apercu d'un fichier txt des 5 premières lignes.
or mon code ne fonctionne pas pour fichier txt unix.
J'ai essayer unix2dos, mais cela m'affiche une fenetre et je veux pas que les utilisateurs gère cela. Tout doit se faire dans mon programme VBA.
COde :
Dim intFic,i As Integer
Dim strLigne, temp As String
intFic = FreeFile
strLigne = ""
Open ResultsAsso.nom_chemin For Input As intFic
Shell ("C:\unix2dos.exe" )
Line Input #intFic, strLigne ' la 1ère ligne sélectionner
temp = strLigne
For i = 1 To 5
Line Input #intFic, strLigne
temp = temp & Chr(10) & strLigne
Next i
Close intFic
MsgBox temp
End Sub
Merci d'avance de votre aide.
Cordialement,
Julie