jecirbe
XLDnaute Junior
Bonsoir à tous,
Après maintes recherche sur ce forum, sur d'autre, sur google, je lance un appel à l'aide.
Je suis sous excel 7 et pour tout avouer j'apprends sur le tas le VBA.
J'ai adapter à mes besoins un script de facturation qui incrémente le numéro et me donne des factures rassemblées par date du jour. Pour être plus clair les factures sont enregistrées sous la forme suivante : "Factures-YYYYMMDD-N°facture".
Chaque classeur "Factures" à 2 feuilles:
- 1 onglet "YYYYMMDD-N°facture" qui est ensuite imprimer
- 1 onglet récap (du jour): constitué d'un tableau avec 6 colonnes dont les entêtes sont: Date facture Numéro Montant Nom Prénom Adresse
Ce que je cherche à faire c'est un récapitulatif global, c'est à dire copier les données de la feuille "récap" et copier tout dans un seul classeur. Pour le moment j'ai 100 fichiers, donc il est évident que je souhaite automatiser à l'aide d'une boucle.
J'ai trouver un script qui ne déclenche aucun message d'erreur . Le hic, est que ça à l'air de tourner dans le vide ou du moins la copie semble se dérouler mais pas le collage.
Voici le code, qui n'est pas de moi j'avoue:
Pouvez vous m'aider à corriger les erreurs en explicitant.
Soyez indulgent j'apprends vraiment sur le tas en me basant sur ce que j'ai déjà "bidouiller" sur l'adaptation de la facturation.
Merci d'avance pour vos réponses
Après maintes recherche sur ce forum, sur d'autre, sur google, je lance un appel à l'aide.
Je suis sous excel 7 et pour tout avouer j'apprends sur le tas le VBA.
J'ai adapter à mes besoins un script de facturation qui incrémente le numéro et me donne des factures rassemblées par date du jour. Pour être plus clair les factures sont enregistrées sous la forme suivante : "Factures-YYYYMMDD-N°facture".
Chaque classeur "Factures" à 2 feuilles:
- 1 onglet "YYYYMMDD-N°facture" qui est ensuite imprimer
- 1 onglet récap (du jour): constitué d'un tableau avec 6 colonnes dont les entêtes sont: Date facture Numéro Montant Nom Prénom Adresse
Ce que je cherche à faire c'est un récapitulatif global, c'est à dire copier les données de la feuille "récap" et copier tout dans un seul classeur. Pour le moment j'ai 100 fichiers, donc il est évident que je souhaite automatiser à l'aide d'une boucle.
J'ai trouver un script qui ne déclenche aucun message d'erreur . Le hic, est que ça à l'air de tourner dans le vide ou du moins la copie semble se dérouler mais pas le collage.
Voici le code, qui n'est pas de moi j'avoue:
Code:
Sub ouvrir_et_fermer_fichiers()
Dim ScanFic As Office.FileSearch
Dim NomFic As Variant
Dim Diag As String, fich As String, exten As String
Dim Nbr As Long
Dim NBlignes As Integer, NBCol As Integer
Dim objShell As Object, objFolder As Object, oFolderItem As Object
Dim Chemin As String
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)
On Error Resume Next
Set oFolderItem = objFolder.Items.Item
Chemin = oFolderItem.Path
Range("A1").Value = Chemin '-----> à adapter si vous avez quelque chose en A1
exten = InputBox("Saisissez ici l'extension souhaitée pour la recherche. Par ex : xls pour excel, doc pour word, ppt pour powerpoint, pour tous fichiers tapez *.*", "Extension de fichier")
Set ScanFic = Application.FileSearch
With ScanFic
.NewSearch
.LookIn = Range("A1").Value
.SearchSubFolders = True
.Filename = exten
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
Nbr = .Execute
For Each NomFic In .FoundFiles
Workbooks.Open Filename.Sheets("récap").Select
Range(Cells(1, 1), Cells(DerniereLigne, 1)).Select
Selection.Copy
Windows("test.xlsm").Activate
i = 1
While Not Range("A" & i & "").Value = ""
i = i + 1
Wend
ActiveSheet.Paste
Next
End With
End Sub
Soyez indulgent j'apprends vraiment sur le tas en me basant sur ce que j'ai déjà "bidouiller" sur l'adaptation de la facturation.
Merci d'avance pour vos réponses
Dernière édition: