mauvais format après import

la croisée des pains

XLDnaute Occasionnel
bonjour à tous
après lecture des messages sur le forum ,excercice et essai sur le fichier je n'arrive toujours pas lors du lancement de la macro import à convertir le fichier comme je le voudrais.
j'espère avoir de l'aide
merci à vous de me consacrer queleques instants

laurent ;) [file name=importcsv2.zip size=19770]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/importcsv2.zip[/file]
 

Pièces jointes

  • importcsv2.zip
    19.3 KB · Affichages: 28

la croisée des pains

XLDnaute Occasionnel
re,
il me met erreur 'excecution 13' imcompabilité de type

Sub import_csv()
Dim m_fichier As Variant
m_fichier = Application.GetOpenFilename('CSV Files (*.csv),*.csv', , 'Ouverture fichier Remonté de Caisse', , True)
Workbooks.Open Filename:=m_fichier
clas_csv = ActiveWorkbook.Name
Call trie_col_A
Call Ajout_entête_date
End Sub

au moment de l'import et débogage en jaune

laurent
 

Hellboy

XLDnaute Accro
Bonjour la croisée des pains, Yeahou

Désolé, j'ai fait trop vite hier. C'est plus compliqué que je le pensait. En passant 6 hrs de décalage avec toi (9:30 am présentement). Il me reste un bug a réglé.

La partie de l'erreur est corrigé. Voici ce que ça donne comme code maintenant:

Option Explicit


Sub import_csv()
Dim m_fichier As Variant, vrtFichier As Variant
Dim intStart As Integer, intEnd As Integer
Dim strNom As String
     
'Choix du ou des fichiers(tu peux faire le traitement de plusieurs fichiers a la fois en les sélectionnant tous en même temps)
    m_fichier = Application.GetOpenFilename('CSV Files (*.csv),*.csv', , 'Ouverture fichier Remonté de Caisse', , True)
    Application.ScreenUpdating = False
   
For Each vrtFichier In m_fichier
         
' ajout d 'un nouveau fichier (pour ne pas copier tout les fichier traiter ds ce fichier-ci)
        Workbooks.Add
       
With ActiveSheet.QueryTables.Add(Connection:='TEXT;' & vrtFichier, Destination:=Range('A1'))
              intStart = InStrRev(vrtFichier, '\\', -1) + 1
              intEnd = InStr(1, vrtFichier, '.')
              strNom = Mid(vrtFichier, InStrRev(vrtFichier, '\\', -1) + 1, intEnd - intStart)
            .Name = strNom
            .PreserveFormatting = True
            .RefreshStyle = xlInsertDeleteCells 
' xlInsertEntireRows
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePlatform = 1252
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileSemicolonDelimiter = True
            .TextFileColumnDataTypes = Array(1, 1, 1, 9)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
       
End With
       
Call Ajout_entête_date(strNom)
       
Call trie_col_A
   
Next vrtFichier
    Application.ScreenUpdating = True
End Sub



Je te donne reste bientôt.

a+
 

Hellboy

XLDnaute Accro
re

Bon voila. Il y a surement des détail que tu aimerais ajouter, alors hésite pas a faire appel au forum.

Private Sub Workbook_Open()
Call import_csv
End Sub


Option Explicit


Sub import_csv()
Dim m_fichier As Variant, vrtFichier As Variant
Dim intStart As Integer, intEnd As Integer
Dim strNom As String
     
'Choix du ou des fichiers(tu peux faire le traitement de plusieurs fichiers a la fois en les sélectionnant tous en même temps)
    m_fichier = Application.GetOpenFilename('CSV Files (*.csv),*.csv', , 'Ouverture fichier Remonté de Caisse', , True)
    Application.ScreenUpdating = False
   
For Each vrtFichier In m_fichier
         
' ajout d 'un nouveau fichier (pour ne pas copier tout les fichier traiter ds ce fichier-ci)
        Workbooks.Add
       
With ActiveSheet.QueryTables.Add(Connection:='TEXT;' & vrtFichier, Destination:=Range('A1'))
              intStart = InStrRev(vrtFichier, '\\', -1) + 1
              intEnd = InStr(1, vrtFichier, '.')
              strNom = Mid(vrtFichier, InStrRev(vrtFichier, '\\', -1) + 1, intEnd - intStart)
            .Name = strNom
            .PreserveFormatting = True
            .RefreshStyle = xlInsertDeleteCells 
' xlInsertEntireRows
            .SaveData = True
             
'.AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePlatform = 1252
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileSemicolonDelimiter = True
            .TextFileColumnDataTypes = Array(1, 1, 1, 9)
            .TextFileDecimalSeparator = '.'
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
       
End With
       
Call Ajout_entête_date(strNom)
       
Call trie_col_A
   
Next vrtFichier
    Application.ScreenUpdating = True
End Sub


Sub trie_col_A()
   
    Range(Cells(2, 1), Cells(Cells(65536, 1).End(xlUp).Row, 4)).Select
    Selection.Sort Key1:=Range('A1'), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortTextAsNumbers
    Columns('A:D').EntireColumn.AutoFit
   
With Range('A1:D1').Interior
        .ColorIndex = 44
        .Pattern = xlSolid
   
End With
    Cells(1, 1).Select
   
End Sub



Public Sub Ajout_entête_date(strDateRef As String)
Dim strDateTemp As String
Dim strDate As Date

With ActiveWorkbook.Sheets(1)
      .Rows('1:1').Insert Shift:=xlDown
      .Cells(1, 1) = 'Produit'
      .Cells(1, 2) = 'Quantité'
      .Cells(1, 3) = 'Prix'
      .Cells(1, 4) = 'Date'
      strDateTemp = Right(strDateRef, 8)
      strDate = CDate(Mid(strDateTemp, 1, 2) & '-' & Mid(strDateTemp, 3, 2) & '-' & Mid(strDateTemp, 5, 8))
      .Range(.Cells(2, 4), .Cells(.Cells(65000, 1).End(xlUp).Row, 4)).Value = strDate
      .Range(.Cells(2, 3), .Cells(.Cells(65000, 1).End(xlUp).Row, 3)).NumberFormat = '_-* #,##0.00 ''€''_-;-* #,##0.00 ''€''_-;_-* ''-''?? ''€''_-;_-@_-'
End With

End Sub





[file name=remontee_caisse2.zip size=7797]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/remontee_caisse2.zip[/file]
 

Pièces jointes

  • remontee_caisse2.zip
    7.6 KB · Affichages: 14

la croisée des pains

XLDnaute Occasionnel
superrrrrrrrrrr

tout marche ,tu es vraiment tres fort, par contre j'aurais aimé que lors de la remontée tous ce mette sur le meme classeur à la suite car sinon imagines je vais avoir au moins 300 classeurs par an.
et pour faire mes TCD pas facile

enfin je ne vai pas abuser de ta bonne volonté

je te souaite une bonne soirée et si tu peux faire ses quelques modifs dis le moi

@+
laurent
:)
 

Hellboy

XLDnaute Accro
re la croisée des pains

Je suis heureux de voir que ça te plait.

Tu n'abuse pas de ma bonne volonté. Ça va me faire un plaisir de faire l'ajustement que tu aimerais. Il se peut que ça ne soit pas pour aujourd'hui, mais plus demain.

a+ et bonne cuise.

p.s. Il faudrait que tu me refile une recette de ton cru en échange :) ;)
 

Hellboy

XLDnaute Accro
Bonsoir Laurent

Et bien j'espère que cette version de fichier te plaira. Je me suis donné la liberté de mettre un TCD juste pour voir. En passant, le TCD au lieu de lui associé une plage fixe (ex: Vente!A1:D100), je lui ai associé une plage dynamique. Donc au fur et a mesure que tu ajoute des données, le tableau en tiens compte. Je t'explique un autre jour. Si tu es currieux de voir, regarde ds le menu Excel:
- Insertion
- Nom
- Définir...

En passant, je ne sais pas si tu avais remarqué, que tu pouvais choisir plus de un fichier a la fois ?

Et dernière chose. Excel n'est pas une base de données, ce qui veut dire que si tu pense mettre plus de 65536 lignes de données, tu ferais mieux de penser si Access ne serait pas mieux pour toi.

Maintenant, pour ce qui est de la recette, je n'ai pas le droit de te demander de quoi en échange, mais si tu l'offre je ne refuserai pas.Contacte moi sur mon couriel personnel sur le site. Tu peux y accèder par le petit icone Enveloppe sous mon avatar.

a+



[file name=remontee_caisse3.zip size=25686]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/remontee_caisse3.zip[/file]
 

Pièces jointes

  • remontee_caisse3.zip
    25.1 KB · Affichages: 13

la croisée des pains

XLDnaute Occasionnel
bonjour Phillippe
bonjour le forum,

Un grand merci pour le travail que tu as accompli, c'est du pro
Bravo pour le TCD, j'ai testé tout marche bien je n'ai plus qu'a rentrer mes données.
je pense que je rentrait la remontée mensuelle comme cela je ne dépasserais pas les lignes autorisées.
J'ai Access aussi mais c'est vrai je débute sur excel alors access me sert pour l'instant juste à la facturation .

Je t'écris sur ta bal

@+ LAURENT
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 989
dernier inscrit
jralonso