Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2797 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] transforme unix en windows

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] transforme unix en windows

n°2212125
juliedu63
Posté le 29-11-2013 à 10:42:34  profilanswer
 

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

mood
Publicité
Posté le 29-11-2013 à 10:42:34  profilanswer
 

n°2212153
Marc L
Posté le 29-11-2013 à 12:24:09  profilanswer
 

 
           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.
Tout doit se faire dans mon programme VBA.


           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 !
 

n°2212161
juliedu63
Posté le 29-11-2013 à 12:56:58  profilanswer
 

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

n°2212175
Marc L
Posté le 29-11-2013 à 14:11:19  profilanswer
 

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 …
 

n°2212188
Marc L
Posté le 29-11-2013 à 15:52:12  profilanswer
 

 
            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 ?


Message édité par Marc L le 29-11-2013 à 15:55:56
n°2212189
juliedu63
Posté le 29-11-2013 à 15:57:37  profilanswer
 

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

n°2212190
Marc L
Posté le 29-11-2013 à 16:04:40  profilanswer
 

 
            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 …
 

n°2212191
juliedu63
Posté le 29-11-2013 à 16:06:23  profilanswer
 

Avez vous alors des conseils à me donner sur le Autrement.
 :(  
Merci de votre réponse.

n°2212192
Marc L
Posté le 29-11-2013 à 16:17:03  profilanswer
 

 
            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 ! …
 

n°2212193
juliedu63
Posté le 29-11-2013 à 16:26:18  profilanswer
 

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

mood
Publicité
Posté le 29-11-2013 à 16:26:18  profilanswer
 

n°2212198
Marc L
Posté le 29-11-2013 à 16:55:58  profilanswer
 

 
            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 …
 

n°2212305
Marc L
Posté le 01-12-2013 à 17:12:50  profilanswer
 

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)
l'utilitaire doit être appelé avant l'ouverture du fichier ! …


            Appeler l'utilitaire avec le fichier en paramètre (…) avant de l'ouvrir au sein la procédure VBA …
 

n°2213105
juliedu63
Posté le 10-12-2013 à 13:05:08  profilanswer
 

Bonjour,
 
Finalement, j'

n°2213106
juliedu63
Posté le 10-12-2013 à 13:07:16  profilanswer
 

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
 [:gijar]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] transforme unix en windows

 

Sujets relatifs
Mot de passe VBAC sous unix => synchronisation avec les signaux
installation de code:block pour windows 7[Vba] Utiliser le nom de la feuille dans le nom de celulle
Aide VBA (correction annal 2)formulaire VBA modal
Formule matricielle Excel ou code VBAProblème programmation VBA
Boucle infini (VBA) 
Plus de sujets relatifs à : [VBA] transforme unix en windows


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR