Ouvrir un fichier et compter des occurences

Le
Apitos
Bonsoir,

http://cjoint.com/?bqpUcHHpwJ

J'aimerais, en VBA, ouvrir ce fichier (Sans extention d'origine) et
compter des occurences des numros tlphone tels que :

011 - 017

Merci.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Apitos
Le #5131901
Par macro j'ai eu,

'----------------------
Sub Macro4()
'
Workbooks.OpenText Filename:= _
"C:Documents and SettingsAdministrateurBureauinspection
B5v1", Origin:= _
xlMSDOS, StartRow:%, DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0, 1 _
), Array(3, 1), Array(19, 1), Array(35, 1), Array(56, 1)),
TrailingMinusNumbers:=True
Sheets("B6").Select

Windows("Classeur1").Activate
Sheets("Feuil1").Select
End Sub
'---------------------

Mais je ne sais pas comment l'utiliser.
Apitos
Le #5292261
Bonsoir,

Une idée ?
PMO
Le #5290351
tfh


"Apitos" news:
Bonsoir,

http://cjoint.com/?bqpUcHHpwJ

J'aimerais, en VBA, ouvrir ce fichier (Sans extention d'origine) et
compter des occurences des numéros téléphone tels que :

011 - 017

Merci.
Apitos
Le #5290211
Bonjour PMO,

C'est juste mon fichier texte en retour !!!
PMO
Le #5289421
Bonjour,

Une piste avec le code suivant qui monte le fichier texte
dans une nouvelle feuille du classeur actif. Vous pourrez
trier les colonnes qui vous intéressent pour obtenir le
nombre d'occurennces 011, 017, ...

Je me suis référé à votre fichier sur Cjoint.com mais vous pouvez
adapter à votre besoin.

CCA ND NE ND_COMPL
--- --------------- --------------- ---------------
501 011771000 00100000000000
101 011771002 00100000000002
201 011771003 00100000000003
101 017771004 00100000000004
111 017771005 00100000000005
101 017771006 00100000000006


'*******************
Sub MonteFichierText()
Dim reponse
Dim Canal As Byte
Dim A$
Dim B$
Dim T1$()
Dim T2$()
Dim T3$()
Dim TabPlage$()
Dim i&
Dim S As Worksheet
Dim R As Range
reponse = Application.GetOpenFilename _
("Fichiers Texte (*.txt), *.txt")
If reponse = False Then Exit Sub
Canal = FreeFile
Open reponse For Input As #Canal
Do While Not EOF(Canal)
Line Input #1, A$
B$ = Trim(Mid(A$, 1, 4))
If Len(B$) = 3 And IsNumeric(B$) Then
i& = i& + 1
ReDim Preserve T1$(1 To i&)
ReDim Preserve T2$(1 To i&)
ReDim Preserve T3$(1 To i&)
'### A ADAPTER ###
'--- extrait les colonnes 1 à 3 du fichier source ---
T1$(i&) = Mid(A$, 1, 3)
'--- extrait les colonnes 5 à 13 du fichier source ---
T2$(i&) = Mid(A$, 5, 9)
'--- extrait les colonnes 21 à 34 du fichier source ---
T3$(i&) = Mid(A$, 21, 14)
'#################
End If
Loop
Close #Canal
ReDim TabPlage$(1 To UBound(T1$), 1 To 3)
For i& = 1 To UBound(T1$)
TabPlage$(i&, 1) = T1$(i&)
TabPlage$(i&, 2) = T2$(i&)
TabPlage$(i&, 3) = T3$(i&)
Next i&
Set S = ActiveWorkbook.Sheets.Add
Set R = S.Range("a1:c" & UBound(T1$) & "")
R = TabPlage$
End Sub
'*******************

Cordialement.

PMO
Patrick Morange

"Apitos" news:
Bonsoir,

http://cjoint.com/?bqpUcHHpwJ

J'aimerais, en VBA, ouvrir ce fichier (Sans extention d'origine) et
compter des occurences des numéros téléphone tels que :

011 - 017

Merci.
Apitos
Le #5289131
Bonjour Patrick,

Merci pour le code.

Sauf qu'il n'est pas utile d'afficher les colonnes résultantes.

Ce qui se passera :

- Ouverture de fichier.
- Chercher dans la colonne des numéros de téléphone
- Compter selon des critères (Ici 011 et 017)
- Fermer le fichier
- Afficher le décompte
- Refaire le travail s'il existe d'autres fichiers présents dans le
même chemin.

En fichier joint un modèle Excel avec des fichiers texte.

http://cjoint.com/?bxnWYcdZRn

Merci d'avance.
Publicité
Poster une réponse
Anonyme