Traitement par lots de fichier excel

  • Initiateur de la discussion Initiateur de la discussion moi.mc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

moi.mc

Guest
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 😉
 
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
 
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 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
309
Réponses
9
Affichages
537
Réponses
8
Affichages
436
Retour