Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : extraire et mettre en forme un fichier texte en vba sous excel [ Système / Fichier & Disque ] (newcodeur)

lundi 19 mai 2008 à 16:15:00 | extraire et mettre en forme un fichier texte en vba sous excel

newcodeur

Bonjour étant un nouvelle entrant dans le monde de la programation je cherche de l'aide...
mon pb est le suivant je n'arrive pas a mettre en forme le fichier texte ci dessous, il faut juste que j'arrive a afficher le mot qui vient aprés create_ dans une colonne et tout ses compteurs associees (commençant par pm dans une autre( chaque pm dans une cellule))


exemple de fichier:
===================================================================
53    Create_E1Ttp                              ACTIVE     900  3
===================================================================
E1Ttp                           3    pmEs
                                     pmSes
                                     pmUas
===================================================================
54    Create_PlugInUnit                         ACTIVE     900  1
===================================================================
PlugInUnit                      1    pmProcessorLoad
===================================================================
55    Create_TdmTermGrp                         ACTIVE     900  3
===================================================================
TdmTermGrp                      3    pmNrOfTdmTermsBusy
                                     pmNrOfTdmTermsRej
                                     pmNrOfTdmTermsReq


le pb est que lorsque je fais l'importation de mon fichier excel me garde la mise en forme actuelle!!!
j'ai essayé plusieurs codes mais sa ne donne rien .
Quelqu'un aurait-il une piste ???
merci.

lundi 19 mai 2008 à 16:18:12 | Re : extraire et mettre en forme un fichier texte en vba sous excel

mortalino

Membre Club
salut,

suffit de lire ton fichier texte, et de placer contenu dans une variable.
ensuite, à coup de instr, tu récupères tes valeurs

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA

lundi 19 mai 2008 à 22:25:02 | Re : extraire et mettre en forme un fichier texte en vba sous excel

newcodeur

Salut mortalino et merci de ton conseil
j'ai utilisé la fonction suivante :

Sub Nomdufichier()
Dim NomFichier
NomFichier = Application.GetOpenFilename
If VarType(NomFichier) = vbBoolean Then MsgBox "Action annulée" _
Else MsgBox "Fichier sélectionné : " & NomFichier
End Sub


 mais je n'arrive toujours pas à extraire les informations désiré?
et pour le "instr" sa signifie instruction ?
Merci de ton aide .

mardi 20 mai 2008 à 10:43:41 | Re : extraire et mettre en forme un fichier texte en vba sous excel

lermite222

Membre Club
Bonjour,
tu peu essayé avec
Dim T
Dim Txt as string 'ton texte
T=Split(Txt,"Create_",-1)

dans le tableau T tu va avoir
T(1) = "Create_"
et dans T(2) tu va avoir la suite
for i=1 to len(T(2)
   if mid(T(2)="" then exit for
next i
LeNomQueTuCherche = left(T(2),i-1)
Si j'ai bien compris...
A+

mardi 20 mai 2008 à 12:01:58 | Re : extraire et mettre en forme un fichier texte en vba sous excel

newcodeur

Réponse acceptée !

Salut !!!

j'utilise finalement le code suivant

Sub Afficher()

Dim mot As String
Dim chaine As String
mot = "Create_"


Open "C:\Documents and Settings\ediaahm\Desktop\Counter_Analyser\log1.txt" For Input As 1
Line Input #1, chaine
Do While EOF(1)

chaine = Mid(mot, 8, 10)


Range("A1").Select = chaine

Loop

End Sub

mais il ne fonctionne pas .
ce que je voudrais sa serais d'afficher tous les mots aprés "Create_" dans une seule colonne ainsi que tous les mots de mon fichier commençant par pm dans une autre.

mais j'ai toujours des erreurs!!!

merci de votre aide.


mardi 20 mai 2008 à 17:03:30 | Re : extraire et mettre en forme un fichier texte en vba sous excel

mortalino

Membre Club
Réponse acceptée !
re;

tiens, c'est cadeau, ça fait plaisir, testé et approuvé :


Option Explicit

Private Sub Form_Load()
    Dim sContenu        As String
    Dim sStringSearch   As String
    Dim ff              As Integer
    Dim lPlacement      As Long
    Dim lFin            As Long
    Dim lIndex          As Long
    Dim sValues()       As String
    
ff = FreeFile: lIndex = -1
sStringSearch = "Create_"

Open "C:\Documents and Settings\ediaahm\Desktop\Counter_Analyser\log1.txt" For Input As #ff
    sContenu = Input$(LOF(ff), #ff)
Close #ff

Do
lPlacement = InStr(lPlacement + 1, sContenu, sStringSearch)
If lPlacement > Then
    lFin = InStr(lPlacement + 1, sContenu, " ")
    lIndex = lIndex + 1
    ReDim Preserve sValues(lIndex)
    sValues(lIndex) = Mid$(sContenu, lPlacement + Len(sStringSearch), lFin - lPlacement + Len(sStringSearch))
Else
    Exit Do
End If
Loop

For lIndex = LBound(sValues) To UBound(sValues)
    MsgBox sValues(lIndex)
Next lIndex
Erase sValues
End Sub

~ Mortalino ~ Colorisation automatique

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA

mardi 20 mai 2008 à 17:16:05 | Re : extraire et mettre en forme un fichier texte en vba sous excel

newcodeur

Merci beaucoup !!!
Je vais maintenant à partir de ce que tu m'a donné afficher sa directement dans une feuille excel avec les pm associés je te tiendrais informé de la suite.

Merci!!!!
Ps: j'ai beuacoup de chemin à faire pour devenir un as de la prog!!!!!

jeudi 22 mai 2008 à 11:14:08 | Re : extraire et mettre en forme un fichier texte en vba sous excel

newcodeur

Salut !!!
j'ai réussi a afficher les valeurs dans la colonne A de la feuillle excel (parce que les valeurs doivent s'afficher dans une feuille excel et non pas une msgbox , j'avais mal formulé mon pb désolé)
par contre je n'arrive toujours pas a afficher les mots commençant par pm.... qui leurs sont associés (les pm devront quant à eux se trouver dans la colonne B)

j'ai testé plusieurs boucle a l'intérieur de la premeière boucle mais sa ne donne rien???
comment dois-je faire????

voici mon code (ou plutôt ton code !!! ):

Option Explicit


Private Sub Form_Load()
    Dim sContenu        As String
    Dim sStringSearch   As String
    Dim ff              As Integer
    Dim lPlacement      As Long
    Dim lFin            As Long
    Dim lIndex          As Long
    Dim sValues()       As String
    Dim vara As Long, varb
   
ff = FreeFile: lIndex = -1
sStringSearch = "Create_"

Open "C:\Documents and Settings\ediaahm\Desktop\Counter_Analyser\log.txt" For Input As #ff
    sContenu = Input$(LOF(ff), #ff)
Close #ff
vara = 1
varb = 2

'cleanning of the [AFFICH_log] sheet
Sheets("Sheet2").Cells.ClearContents
Sheets("Sheet2").Activate


Do
lPlacement = InStr(lPlacement + 1, sContenu, sStringSearch)
If lPlacement > 0 Then
    lFin = InStr(lPlacement + 1, sContenu, " ")
    lIndex = lIndex + 1
    ReDim Preserve sValues(lIndex)
    sValues(lIndex) = Mid$(sContenu, lPlacement + Len(sStringSearch), lFin - lPlacement + Len(sStringSearch))
Else
    Exit Do
End If
Loop

For lIndex = LBound(sValues) To UBound(sValues)
    'MsgBox sValues(lIndex)
   
    ActiveSheet.Cells(varb, 1) = sValues(lIndex)
    varb = varb + 1
    ActiveSheet.Columns.AutoFit
   
Next lIndex
Erase sValues
End Sub


jeudi 22 mai 2008 à 17:51:00 | Re : extraire et mettre en forme un fichier texte en vba sous excel

mortalino

Membre Club
re,

je te l'ai fait en Fonction, ce sera plus simple d'utilisation, regarde surtout la sub exemple, la Function ne doit ^pas être modifée :

Option Explicit

Private Function ExtractDatas(ByVal sStringSearch As String, sValues() As String) As Boolean
    Dim sContenu        As String
    Dim ff              As Integer
    Dim lPlacement      As Long
    Dim lFin            As Long
    Dim lIndex          As Long
    
ff = FreeFile: lIndex = -1

Open "C:\Documents and Settings\ediaahm\Desktop\Counter_Analyser\log1.txt" For Input As #ff
    sContenu = Input$(LOF(ff), #ff)
Close #ff

Do
lPlacement = InStr(lPlacement + 1, sContenu, sStringSearch)
If lPlacement > Then
    lFin = InStr(lPlacement + 1, sContenu, " ")
    If InStr(lPlacement + 1, sContenu, vbCrLf) < lFin Then lFin = InStr(lPlacement + 1, sContenu, vbCrLf)
    If lFin = Then lFin = Len(sContenu)
    lIndex = lIndex + 1
    ReDim Preserve sValues(lIndex)
    sValues(lIndex) = Mid$(sContenu, lPlacement + Len(sStringSearch), lFin - (lPlacement + Len(sStringSearch)))
Else
    Exit Do
End If
Loop
ExtractDatas = True
End Function

Sub test()
    Dim myValues1() As String, myValues2() As String, lIndex As Long
    Dim As Integer
    
If ExtractDatas("Create_", myValues1) Then
    For lIndex = LBound(myValues1) To UBound(myValues1)
    i = i + 1
        Cells(i, 1).Value = myValues1(lIndex)
    Next lIndex
    Erase myValues1
End If
i = 0

If ExtractDatas("pm", myValues2) Then
    For lIndex = LBound(myValues2) To UBound(myValues2)
    i = i + 1
        Cells(i, 2).Value = myValues2(lIndex)
    Next lIndex
    Erase myValues2
End If

End Sub
~ Mortalino ~ Colorisation automatique

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA

vendredi 23 mai 2008 à 11:58:58 | Re : extraire et mettre en forme un fichier texte en vba sous excel

newcodeur

Encore merci mortalino !!!mais le pb est que pour la colonne B je dois avoir le pm devant chaque mot et puis je dois pouvoir associer chaque mot aprés "Create_" avec les pm qui lui sont associés par contre je dois garder le mot pm deavnt chaque conteur de la colonne B ex:

voici un exemple de la mise en forme final les etoile !!!!!)


Colonne A                  Colonne B
*******************************************
E1Ttp                        pmEs
                                  pmSes
                                  pmUas
******************************************
PlugInUnit                   pmProcessorLoad
*********************************************
TdmTermGrp              pmNrOfTdmTermsBusy
                                   pmNrOfTdmTermsRej
                                   pmNrOfTdmTermsReq

**************************************



1 2 3 4

Cette discussion est classé dans : fichier, texte, excel, forme, create


Répondre à ce message

Sujets en rapport avec ce message

Acces à excel par visual basic 6 à partir du début [ par XGuarden ] Bonjour, je veux pouvoir imprimer un fenetre classeur choisi dans mon fichier excel, pouvoir ajouter des données dans un classseur. Explication: Mo Acces à excel par visual basic 6 à partir du début [ par XGuarden ] Bonjour, je veux pouvoir imprimer un fenetre classeur choisi dans mon fichier excel, pouvoir ajouter des données dans un classseur. Explication: Mo Macro Texte to Excel [ par khos01 ] Bonjour à tous,Je suis actuellement en stage et une problématique se pose je doit faire une Macro pour sortir certaines données d'un fichier texte dan Ouvrir un classeur excel sous vb, pour ensuite être affiché dans une texte box [ par JONJON91 ] J'aimerai ouvrir un classeur excel à partir d'une boite de dialogue "ouvir", car pour l'instant je dois rentrer le chemin d'acces dans mon code. J'ai Help Urgent Dans Excel Comment enregistrer et fermer un fichier texte [ par charlotte422 ] Quand j'enregistre après modification un fichier texte ouvert dans Excel, dans le même dossier que celui de départ, Excel me demande si je veux rempla Prob de lecture fichier dbf [ par mophius ] Bonjour. Voila, j'ai développé un soft qui me permet de lire des fichiers dbf. Il fonctionne bien mais le seul problème rencontré est le champ texte d Copier un texte Excel dans un fichier Word [ par ] Bonjour,j'ai un soucis de copie :je récupère des données d'excel, pour les introduire à des endroits précis dans un *.doc en passant par un *.dot, et Import de fichier texte vers Excel [ par nico_fip1 ] Bonjour, Une application en C++ me génère un fichier texte avec séparateur (actuellement ';' mais ça peut être changé). Je souhaite qu'une macro d'un lecture fichier excel [ par manud31 ] Voici mon code Private Sub Form_Load() On Error Resume Next 'les erreurs sont ignorées crlf = Chr$(13) + Chr$(10) Open "D:\ valeur_du_pas.xls" For Inp Charger le contenu d'un fichier texte dans excel [ par denis730 ] Bonjour, J'ai un fichier texte avec des champs separé par des tabulations. Je voudrais par une macro visual basic recuperer le contenu de ce fichier t


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,593 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.