Traitement par lots de fichier excel

moi.mc

XLDnaute Nouveau
Bonjour à tous,


J'aimerais modifier plusieurs fichier excel d'un seul coup (environ 1500).

Pour prendre un exemple très simple, disons que chaque fichier possède un seul onglet avec des informations qui lui sont propres. Je veux rajouter un onglet identique (par exemple toujours) à chaque fichier (mais bien sur sans les ouvrir tous).

Merci pour ceux qui m'aideront ;)
 

Eric 45

XLDnaute Occasionnel
Re : Traitement par lots de fichier excel

Bonjour à tous
Bonjour moi.mc

Peux tu aller voir "WIKI" :
Wiki Page 6 de Michel Xld,


dans "piloter les fichiers fermés".

Pour y accéder, tu cliques tout en haut de la page de ce site à droite, c'est super instructif.

Eric
 

moi.mc

XLDnaute Nouveau
Re : Traitement par lots de fichier excel

Merci c'est vraiment que les possibilités sont enormes..

Malgré tout, je ne maitrise pas bien excel.
J'ai trouvé une explication interressante mais je ne sais pas comment m'y prendre...:(

cela me semble adapté à mon cas...mais j'écris ou tout ce code ? ( j'ouvre l'editeur alt+f11 ?)

Code:
Créer une nouvelle feuille dans un classeur fermé et y exporter les données de la feuille active

    Sub Export_versNouvelleFeuille_classeurExcelFerme()
    'transférer la feuille "devis" dans un nouvel onglet d'un classeur fermé
    Dim oRS As ADODB.Recordset
    Dim oConn As ADODB.Connection
    Dim maFeuille As String, prepaTable As String
    Dim j As Integer, i As Integer
    'nom(sans espace!) de la feuille Excel qui va etre créée dans le classeur fermé
    maFeuille = "archiveDevis001"
    Set oConn = New ADODB.Connection oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=C:\classeur1_Fermé.xls;" & _
    "Extended Properties=""Excel 8.0;HDR=NO;"""
    For i = 1 To 10 'nombre de colonnes à transférer
    'paramétrage entêtes de colonnes et types de données
    prepaTable = prepaTable & "Colonne" & i & " Memo ," 'adapter les types de données
    Next i
    prepaTable = Left(prepaTable, Len(prepaTable) - 1)
    'creation nouvelle Feuille Excel
    oConn.Execute "create table " & maFeuille & "(" & prepaTable & ")"
    Set oRS = New ADODB.Recordset
    oRS.Open "Select * from " & maFeuille, oConn, adOpenKeyset, adLockOptimistic
    For j = 1 To 40 'nombre de lignes à transferer
    oRS.addNew
    For i = 1 To 10 'nombre de colonnes à transférer
    oRS.Fields(i - 1) = activeSheet.Cells(j, i)
    Next i
    oRS.Update
    Next j
    oRS.Close
    oConn.Close
    End Sub

Merci ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 673
Messages
2 090 784
Membres
104 664
dernier inscrit
jth