OVH Cloud OVH Cloud

c'est si simple le TXT

4 réponses
Avatar
denis le breton
Bonjour, aujourd'hui Vendredi : la question du ... vendredi, c'est bien
répondu.
Seconde question.
Je veux ouvrir un fichier .txt et lui imposer le ';' comme séparateur
'autre', et forcer les colonnes à êtr considérées comme du texte par Excel
qui les prend en standard et applique le format qu'il préfére. (Pas celui que
je veux ;+(()

Alors pour simplifier les réponse voilà ce que j'ait :
--------------
Dim wb As Workbook
With Application
Application.Dialogs(xlDialogOpen).Show ' pour sélectionner le fichier
fic = ActiveWorkbook.Name 'récupération du nom du
fichier
Cells.NumberFormat = "@"

Mais à l'ouverture je dois spécifier que je veux un délémiteur, que cela
soit ';' et que je veux les colonnes en texte et pas standard

Pour l'ouverture des ficheir csv j'ai placé cela qui tourne bien

If ext = "csv" Then
Set wb = .Workbooks.Open(fic)
wb.Sheets(1).Columns(1).TextToColumns Range("A1"),
xlTextQualifierDoubleQuote, , False, , , , , True, ";", Array(1, 4)
End If
-------------------
Y 'aurai pas un équivalent pour le txt ?

Merci de votre contribution.
Et n'oubliez pas la Saint Valentin

4 réponses

Avatar
anomymousA
Bonjour,

si tu tu utilises l'enregistreur de macros avec l'ouverture d'un fichier
texte, tu auras toutes les réponses à tes questions.

A+


Bonjour, aujourd'hui Vendredi : la question du ... vendredi, c'est bien
répondu.
Seconde question.
Je veux ouvrir un fichier .txt et lui imposer le ';' comme séparateur
'autre', et forcer les colonnes à êtr considérées comme du texte par Excel
qui les prend en standard et applique le format qu'il préfére. (Pas celui que
je veux ;+(()

Alors pour simplifier les réponse voilà ce que j'ait :
--------------
Dim wb As Workbook
With Application
Application.Dialogs(xlDialogOpen).Show ' pour sélectionner le fichier
fic = ActiveWorkbook.Name 'récupération du nom du
fichier
Cells.NumberFormat = "@"

Mais à l'ouverture je dois spécifier que je veux un délémiteur, que cela
soit ';' et que je veux les colonnes en texte et pas standard

Pour l'ouverture des ficheir csv j'ai placé cela qui tourne bien

If ext = "csv" Then
Set wb = .Workbooks.Open(fic)
wb.Sheets(1).Columns(1).TextToColumns Range("A1"),
xlTextQualifierDoubleQuote, , False, , , , , True, ";", Array(1, 4)
End If
-------------------
Y 'aurai pas un équivalent pour le txt ?

Merci de votre contribution.
Et n'oubliez pas la Saint Valentin





Avatar
MichDenis
Bonjour Denis,

Je n'ai pas vraiment compris la question, mais essaie ceci :

'----------------------------
Sub OuvrirFichierTexte()
'd'après P. Penet, mpfe
Dim wb As Workbook, NomFich

With Application
NomFich = Application.GetOpenFilename("Fichiers texte,*.csv;*.txt")
If NomFich = False Then Exit Sub
Set wb = .Workbooks.Open(NomFich)
wb.Sheets(1).Columns(1).TextToColumns Range("A1"), , , False, , True
End With

End Sub
'----------------------------


Salutations!


"denis le breton" a écrit dans le message de news:

Bonjour, aujourd'hui Vendredi : la question du ... vendredi, c'est bien
répondu.
Seconde question.
Je veux ouvrir un fichier .txt et lui imposer le ';' comme séparateur
'autre', et forcer les colonnes à êtr considérées comme du texte par Excel
qui les prend en standard et applique le format qu'il préfére. (Pas celui que
je veux ;+(()

Alors pour simplifier les réponse voilà ce que j'ait :
--------------
Dim wb As Workbook
With Application
Application.Dialogs(xlDialogOpen).Show ' pour sélectionner le fichier
fic = ActiveWorkbook.Name 'récupération du nom du
fichier
Cells.NumberFormat = "@"

Mais à l'ouverture je dois spécifier que je veux un délémiteur, que cela
soit ';' et que je veux les colonnes en texte et pas standard

Pour l'ouverture des ficheir csv j'ai placé cela qui tourne bien

If ext = "csv" Then
Set wb = .Workbooks.Open(fic)
wb.Sheets(1).Columns(1).TextToColumns Range("A1"),
xlTextQualifierDoubleQuote, , False, , , , , True, ";", Array(1, 4)
End If
-------------------
Y 'aurai pas un équivalent pour le txt ?

Merci de votre contribution.
Et n'oubliez pas la Saint Valentin
Avatar
denis le breton
Hélas cela eût été trop simple, ou j'ai raté une marche.
car je veux que cette macro tourne quelques soit le fichier et pas un défini
à l'avance !
Merci de ta réponse toutefois
Denis


Bonjour,

si tu tu utilises l'enregistreur de macros avec l'ouverture d'un fichier
texte, tu auras toutes les réponses à tes questions.

A+


Bonjour, aujourd'hui Vendredi : la question du ... vendredi, c'est bien
répondu.
Seconde question.
Je veux ouvrir un fichier .txt et lui imposer le ';' comme séparateur
'autre', et forcer les colonnes à êtr considérées comme du texte par Excel
qui les prend en standard et applique le format qu'il préfére. (Pas celui que
je veux ;+(()

Alors pour simplifier les réponse voilà ce que j'ait :
--------------
Dim wb As Workbook
With Application
Application.Dialogs(xlDialogOpen).Show ' pour sélectionner le fichier
fic = ActiveWorkbook.Name 'récupération du nom du
fichier
Cells.NumberFormat = "@"

Mais à l'ouverture je dois spécifier que je veux un délémiteur, que cela
soit ';' et que je veux les colonnes en texte et pas standard

Pour l'ouverture des ficheir csv j'ai placé cela qui tourne bien

If ext = "csv" Then
Set wb = .Workbooks.Open(fic)
wb.Sheets(1).Columns(1).TextToColumns Range("A1"),
xlTextQualifierDoubleQuote, , False, , , , , True, ";", Array(1, 4)
End If
-------------------
Y 'aurai pas un équivalent pour le txt ?

Merci de votre contribution.
Et n'oubliez pas la Saint Valentin







Avatar
denis le breton
En fait la solution serait de forcer l'ouverture du fichier qui se déroule en
3 étapes
1 délimiteur ou largeur fixe (et le bloquer sur délimiteur)
2 séparateur (forcer le séparateur ; ou le séparateur autre avec ;)
3 format des données (forcer une ou toutes les colonnes en texte au lieu de
standard)
Merci de ta réponse qui n'a point l'efficacité espérée.

Allez allez tenter votre chance ....

A+
Denis


Bonjour Denis,

Je n'ai pas vraiment compris la question, mais essaie ceci :

'----------------------------
Sub OuvrirFichierTexte()
'd'après P. Penet, mpfe
Dim wb As Workbook, NomFich

With Application
NomFich = Application.GetOpenFilename("Fichiers texte,*.csv;*.txt")
If NomFich = False Then Exit Sub
Set wb = .Workbooks.Open(NomFich)
wb.Sheets(1).Columns(1).TextToColumns Range("A1"), , , False, , True
End With

End Sub
'----------------------------


Salutations!


"denis le breton" a écrit dans le message de news:

Bonjour, aujourd'hui Vendredi : la question du ... vendredi, c'est bien
répondu.
Seconde question.
Je veux ouvrir un fichier .txt et lui imposer le ';' comme séparateur
'autre', et forcer les colonnes à êtr considérées comme du texte par Excel
qui les prend en standard et applique le format qu'il préfére. (Pas celui que
je veux ;+(()

Alors pour simplifier les réponse voilà ce que j'ait :
--------------
Dim wb As Workbook
With Application
Application.Dialogs(xlDialogOpen).Show ' pour sélectionner le fichier
fic = ActiveWorkbook.Name 'récupération du nom du
fichier
Cells.NumberFormat = "@"

Mais à l'ouverture je dois spécifier que je veux un délémiteur, que cela
soit ';' et que je veux les colonnes en texte et pas standard

Pour l'ouverture des ficheir csv j'ai placé cela qui tourne bien

If ext = "csv" Then
Set wb = .Workbooks.Open(fic)
wb.Sheets(1).Columns(1).TextToColumns Range("A1"),
xlTextQualifierDoubleQuote, , False, , , , , True, ";", Array(1, 4)
End If
-------------------
Y 'aurai pas un équivalent pour le txt ?

Merci de votre contribution.
Et n'oubliez pas la Saint Valentin