Enregistrement fichier .txt et ensuite en 95 avec colonne texte ou standard

Bonjour,

J'ai un fichier que je désire exporter vers acces

Et pour cele je dois d'abord l'enregistrer en .txt puis l'ouvrir a nouveau avec excel et définir les colonnes en texte ou standard et l'enregistrer à nouveau sous excel 95 comment faire par le biais d'une macro

salutations

Bonjour

As-tu essayé l'enregistreur de macros ?

oui mais quand je recopie les codes je me rettrouve avec une erreur d'argument

RE

Access accepte aussi le format 2016 il me semble.

Sans exemple du fichier et de ton code... tu auras peu de réponses

c'est notre base de données le problème elle n'accepte que des fichiers en excel 5.0/95

du coup nous sommes obligés d'enregistrer en txt puis ouvris avec excel et enregistrer en EXCEL 5.5/95 et de définir chaque cellule si standard ou texte et la cela fonctionne

(cellule à definir en standard colonne 7 10 12 13 14 15 16 17 21 23 25 26 27 29 30) le reste est du texte

voici mon code

Sub TRANSFERT_MMS()

Dim classeurSource As Workbook, classeurDestination As Workbook

'ouvrir le classeur source (en lecture seule)

Set classeurSource = ThisWorkbook

Dim xlApp As Excel.Application

Dim xlBook As Excel.Workbook

Dim xlSheet As Excel.Worksheet

Dim nomfichier As String

Dim nomfichiersource As String

Dim oFSO As Object, chemin As String, Mois

chemin = ActiveWorkbook.Name

Set oFSO = CreateObject("Scripting.FileSystemObject")

nomfichiersource = oFSO.GetBaseName(chemin)

nomfichier = Worksheets("MMS").Name

'On créer l'objet Excel

Set xlApp = CreateObject("Excel.Application")

'On défini le nombre d'onglets (ici 1)

xlApp.SheetsInNewWorkbook = 1

'On ajoute un classeur

Set xlBook = xlApp.Workbooks.Add

'On rend le classeur visible

xlApp.Visible = False

'On créer l'objet onglet dans le nouveau classeur créé

Set xlSheet = xlBook.Worksheets(1)

xlBook.SaveAs ("G:\@Partage\BOM_Movex\" & nomfichiersource & "-" & nomfichier & ".xls")

xlBook.Close

'définir le classeur destination

Set classeurDestination = Application.Workbooks.Open("G:\@Partage\BOM_Movex\" & nomfichiersource & "-" & nomfichier & ".xls", , False)

classeurSource.Sheets("MMS").Range("C6:AI10000").Cells.Copy

classeurDestination.Sheets("Feuil1").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

'Format colonne en numériques

Columns("H:H").Select

Selection.NumberFormat = "0"

Columns("K:K").Select

Selection.NumberFormat = "0"

Columns("M:R").Select

Selection.NumberFormat = "0"

Columns("V:V").Select

Selection.NumberFormat = "0"

Columns("X:X").Select

Selection.NumberFormat = "0"

Columns("Z:Z").Select

Selection.NumberFormat = "0"

Columns("AA:AB").Select

Selection.NumberFormat = "0"

Columns("AD:AE").Select

Selection.NumberFormat = "0"

Columns("AG:AH").Select

Selection.NumberFormat = "0"

'Format colonne en texte

Columns("A:G").Select

Selection.NumberFormat = "@"

Columns("I:J").Select

Selection.NumberFormat = "@"

Columns("L:L").Select

Selection.NumberFormat = "@"

Columns("S:U").Select

Selection.NumberFormat = "@"

Columns("W:W").Select

Selection.NumberFormat = "@"

Columns("Y:Y").Select

Selection.NumberFormat = "@"

Columns("AC:AC").Select

Selection.NumberFormat = "@"

Columns("AF:AF").Select

Selection.NumberFormat = "@"

Columns("AI:AL").Select

Selection.NumberFormat = "@"

ActiveWorkbook.Save

'fermer le classeur source

classeurDestination.Close

End Sub

le fichier ce sera encore mieux

j'aimerai que ce fichier génère une copie de celui-ci mais en passant par la transformation en TXT puis en excel 5.0/95 avec les colonnes en jaune dans le tabgleau en format standard et les autres en texte

salutations

3classeur1.xlsx (93.52 Ko)

Bonjour

Pour ma part j'aurais

  • enlevé les lignes de titres en trop
  • fait un copier coller de l'ensemble des cellules en valeur pour supprimer les formules
  • mis les colonnes concernées au format texte (sauf erreur de ma part, Access verra le reste comme standard)
  • enregistré en format 95. Pourquoi un enregistrement en texte si ce n'est pour virer les formules ?

Cependant de mémoire, les anciennes versions d'Access ne s'occupaient pas du format texte et considéraient tout comme standard.

On avaient intérêt à créer un fichier texte et un fichier de paramètres d'importation pour ne pas être embêté.

oui c'est bien le problème c'est une acienne version acces

il veut du standard ou du texte

j'ai essayé ce que tu propose cela ne marche pas non plus

c'est pour cela que je cherche une solution

Bonjour

Tu as essayé quoi ?

Dans Access un fichier texte couplé à un fichier de paramètres, à définir dans Access, fonctionne très bien on a la main pour définir chaque colonne.

Donc c'est à mon avis c'est un problème de structure du txt qui te pose problème.

Je te joins le classeur 2 ci dessous pour que tu vois ce que j'ai fais la macro est dedans

salutations

2classeur2.xlsm (76.87 Ko)

Re

Pour être chargé dans Access un fichier Excel doit comporter une ligne d'en-tête.

Or en copiant de C6 à AI1000 tu n'as pas de titre de colonne.

On a aussi déjà évoqué la difficulté d'Access ancienne version à tenir compte des formats. Il est probable que certaines colonnes comme E, G, H... ne soient pas considérées comme texte...

Accessoirement ton code semble mélanger un codage dans Excel et un codage depuis Access

    Set xlApp = CreateObject("Excel.Application")

n'a rien à faire dans un classeur Excel.

Si fait depuis Access VBA, le formatage lui devrait être préfixés de la variablexlApp

Les select ne servent à rien...

L'extension xls ne suffit pas à avoir le format 95 : il faudrait un paramètre FileFormat

Double post

Rechercher des sujets similaires à "enregistrement fichier txt ensuite colonne texte standard"