Macro extraction données excel

Résolu/Fermé
Martin - Modifié par Martin le 7/03/2012 à 20:32
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 - 8 mars 2012 à 15:42
Bonjour,

est-ce que quelqu'un pourrait me donner un coup de main pour modifier ce code afin que la feuille dans le fichier source (nommée Extration) copie un tableau (A9:K42) dans les fichiers concernés ?

Lorsque j'active le commandbutton, le fichier source me demande d'ouvrir le dossier dans lequel les fichiers à extracter sont enregistrés et il n'arrive pas à copier les tableaux les uns à la suite des autres comme j'espérais... :(

Voici mon code relié au commandbutton:

Private Sub CommandButton1_Click()

Dim objShell As Object, objFolder As Object
Dim Chemin As String, fichier As String, Tabl, Wbk As Workbook

Set Wbk = ActiveWorkbook
With Wbk.Sheets("Extraction")
.Cells.Clear
End With
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)

If objFolder Is Nothing Then
MsgBox "Abandon opérateur", vbCritical, "Annulation"
Else
Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & "\"
fichier = Dir(Chemin & "*.xls")
Application.ScreenUpdating = False
With Wbk.Sheets("Extraction")
.[A1] = fichier
End With
Do While Len(fichier) > 0
If fichier <> ThisWorkbook.Name Then
Workbooks.Open Chemin & fichier
Tabl = Range("A9:K42") ' A ADAPTER SI PLUS DE 11 Colonnes et 33 Lignes...
With Wbk.Sheets("Extraction")
.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Resize(UBound(Tabl, 2), UBound(Tabl, 1)) = Application.Transpose(Tabl)

End With
ActiveWorkbook.Close
End If
fichier = Dir()
With Sheets("Extraction")
.Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = Tabl
End With
Loop
End If
Application.ScreenUpdating = True



End Sub


Merci beaucoup de votre temps
Martin
A voir également:

5 réponses

Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
7 mars 2012 à 23:09
Bonjour,
Juste au passage, vous avez 2 fois l'instruction pour coller la [Tabl].
Essayer de supprimer cette dernière partie :
With Sheets("Extraction")
.Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = Tabl
End With

0
Merci Le Pingou,

Cela n'a pas réglé mon problème, mais on s'approche de la solution j'imagine :)
0
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
Modifié par Le Pingou le 8/03/2012 à 15:34
Bonjour,
Où se trouve exactement le problème ?
Seulement en déchiffrant votre code, ce n'est pas évident !

Note: pourquoi ne pas mentionner ce doublon : https://forums.commentcamarche.net/forum/affich-24651887-excel-macro-extraction-donnees#21

Salutations.
Le Pingou
0
Bonjour,

Je suis présentement avec Pijaku pour regarder ce problème. Je ne veux pas monopoliser les âmes charitables qui partagent leurs savoir, mais si tu vois le problème rapidement, tant mieux.

Le code est supposé ouvrir un fichier copier un tableau et le coller dans la feuille Extraction. Lorsque je click sur le commandbutton pour activer la macro, le fichier source (Extraction) me demande si je veux enregistrer le fichier à extraire et ne copie pas le tableau A9:K42 comme je l'aurais souhaité. J'ai plusieurs tableaux a copier dans la feuille extraction pour pouvoir éventuellement mettre un filtre en haut des colonne et avoir toutes les données des fichiers réunies.

pour l'instant la feuille Extraction, à la fin de la macro m'écris seulement
Abcde1.xls
Abcde2.xls
Abcde3.xls

En cellule A1 A2 et A3. Les fichiers Abcde étant ceux à extraire...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12187 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 14 novembre 2024 1 449
8 mars 2012 à 15:42
Bonjour,
Merci, je vais attendre la réaction de pijaku et je déciderai ensuite si je donne suite.
Désolé.
0