Reconnaissance Auto Onglet

Bonjour,

j'ai un fichier source XXXX.csv comportant un onglet XXXX (sans l'extension) que je voudrai importer tel quel dans mon classeur.

Ma premiere Macro vas identifier le fichier .csv le plus récent

Ma deuxieme et celui qui importe mais à automatisé (Onglet a importer = XXXX sans le .csv)

Merci de votre Aide sur le sujet.

Je vous joint mon classeur et le fichier .csv

Bien cordialement

8recuponglet.xlsm (34.33 Ko)

Bonjour,

s'il n'y a qu'un onglet dans le .csv

'Nécessite d'activer les références

'Microsoft ActiveX Data Objects x.x Library

'Microsoft ADO ext x.x for DLL and Security.

Sub test1()
Nom_onglet ("C:\Users\xxxxx\Documents\20150513_003650717_KKL2256_PRD.csv")
End Sub

Sub Nom_onglet(fichier)
Dim Cn As ADODB.Connection
Dim oCat As ADOX.Catalog
Dim Feuille As ADOX.Table
Dim Rst As ADODB.Recordset
Dim texte_SQL As String
Dim Ar(1) As String, n As String

    Set Cn = New ADODB.Connection
    Set oCat = New ADOX.Catalog

    Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & fichier & ";Extended Properties=Excel 8.0;"

    Set oCat.ActiveConnection = Cn
    For Each Feuille In oCat.Tables
        Ar(1) = Feuille.Name
    Next Feuille

    texte_SQL = "SELECT * FROM [" & Ar(1) & "]"

    Set Rst = New ADODB.Recordset
    Set Rst = Cn.Execute(texte_SQL)

    ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
    n = Mid(Ar(1), 2, 30)
    ActiveSheet.Name = n
    Range("A2").CopyFromRecordset Rst

    Set Feuille = Nothing
    Set oCat = Nothing
    Cn.Close
    Set Cn = Nothing

End Sub

Bonjour,

Tu peux faire une requête sur ton fichier :

Sub CSV()

    Dim Chemin As String
    Dim Fichier As String
    Dim Fe As Worksheet

    'le chemin et nom du fichier cible à adapter !
    Chemin = "C:\ton dossier\"
    Fichier = "20150513_003650717_KKL2256_PRD.csv"

    Set Fe = Worksheets("DESTINATION")

    'exécute une requête er récup en feuille "Feuil1" à partir de "A1", à adapter
    With Fe.QueryTables.Add("TEXT;" & Chemin & Fichier, Fe.Range("A1"))

        .TextFileSemicolonDelimiter = True 'le délimiteur est le point-virgule (;)
        .Refresh 'met à jour
        .Delete 'supprime la requête

    End With

End Sub

A toi d'adapter une fois trouvé ton fichier le plus récent !

Merci beaucoup de vous être penchés sur ma problématique.

J'ai essayé de les adaptés sans réussir probablement mon niveau ....

Vu que que ma première Macro identifie le Chemin est le fichier à importer ne pourront nous pas l'aidé a recupéré son onglet unique

qui s'apelle comme le fichier "Lenom" sans l'extention csv.

Le Fichier s'appelle xxxxx xxxxxx xxxxx .csv identifier comme "Lenom" dans ma Macro de départ

et l'onglet qu'il contient s'appelle xxxxx xxxxxx xxxxx (C'est l'onglet que je veux rapatrié par reconnaissance Automatique)

Bien cordialement

et Merci pour vos supports qui me seront bien utiles

Voilà,

Bonsoir et merci !!!!

J'utilise Excel 2007

et les déclarations type Dim Cn As ADODB.Connection

Dim oCat As ADOX.Catalog

Dim Feuille As ADOX.Table non opérant malheureusement

De plus en utilisant

la macro suivante et bien je suis dirigé vers fichier unique onglet unique donc pas Automatisé malheureusement

Sub RECUPaRendreAutoReconnaissanceOnglet()

'

' RECUPaRendreAutoReconnaissanceOnglet Macro

'

'

ChDir "C:\Users\ARC-EN-CIEL\Desktop\RECUP"

Workbooks.Open Filename:= _

"C:\Users\ARC-EN-CIEL\Desktop\RECUP\20150513_003650717_KKL2256_PRD.csv", _

Origin:=xlWindows

Sheets("20150513_003650717_KKL2256_PRD").Select

Sheets("20150513_003650717_KKL2256_PRD").Copy After:=Workbooks( _

"Recuponglet.xlsm").Sheets(2)

Windows("20150513_003650717_KKL2256_PRD.csv").Activate

ActiveWorkbook.Close

End Sub

Je suis bloqué et ma macro de départ ne sert plus par la suite .

Merci d'avance pour éclairer ma petite lanterne

Bonsoir,

Je ne comprend pas vraiment ce que tu veux ?

Vu que que ma première Macro identifie le Chemin est le fichier à importer ne pourront nous pas l'aidé a recupéré son onglet unique

qui s'apelle comme le fichier "Lenom" sans l'extention csv.

un fichier .csv ne peut contenir qu'une et une seule feuille donc avec une requête sur le fichier, c'est obligatoirement la seule feuille qu'il contient qui en est la cible !

J'ai fait un test sur ton fichier et tout c'est importé comme voulu !

Merci....

Je n en doute pas que cela fonctionne

mais plutôt que ma version 2007 n'est pas performant.

Au boulot g une version supérieur donc je v le tester

Merci infiniment pour ton support Theze

Bonjour,

Comme tu peux le voir, je suis aussi sur Excel 2007.

Rechercher des sujets similaires à "reconnaissance auto onglet"