récupération de contenu de cellule

Le
jpthillard
Bonjour à tous,
Je voudrais mettre au point une macro qui me permettrai de récupérer
le contenu de cellules de 89 fichiers DT**.xls. Ces fichiers se
nomment DT001.xls, DT002.xls jusqu'à DT089.xls
La plage de cellules à copier commence en ligne 9 et s'étend de la
colonne B à O.
Le nombre de lignes varie d'un fichier à l'autre.
Précision les fichiers DT**.xls sont dans le même dossier.
Est-ce que quelqu'un pourrait m'aider à concevoir cette Macro.

Merci d'avance pour le temps que je vais économiser.

JP
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #5067381
Bonjour,
Ces deux exemples sont à intégrer à un classeur vierge

1-(Par macro) les fichiers sont ouverts quand même:

Option Explicit

Sub recupDT()
Dim f As String
ChDir "c:repDT"
f = Dir("dt*.xls")
Application.ScreenUpdating = False
[b2].Activate
Do While Len(f) > 0
Workbooks.Open (f)
With ActiveWorkbook
ThisWorkbook.Worksheets(1).[b65536].End(xlUp)(2).Offset(0, -1) = f
Range("o9", .Worksheets(1).[b65536].End(xlUp).Address).Copy _
Destination:=ThisWorkbook.Worksheets(1).[b65536].End(xlUp)(2)
.Close False
End With
f = Dir
Loop
End Sub

2-Si on veut ne pas ouvrir directement les fichiers, c'est possible
et sans besoin de macro(par consolidation):

D'abord envisager des blocs égaux (les vides seront partis après)
B9:oN
et selon le plus grand bloc (pour avoir tout)exemple
Se positionner en B2
Données Consolider: c:repDT[dt*.xls]Feuil1!B9:o59
ajouter,(cocher avec liaison) Ok
Données - Grouper et Creer un plan -Effacer le plan
copier la première colonne b2:B(n*89)
coller en A2 et sur sélection de la colonne A
Edition remplacer *[ par (laisser vide) Remplacer tout
Edition remplacer ]*B par " ligne "

Sélectionner tout le tableau, Trier par Colonne A
supprimer les lignes qui se retrouvent en haut(les totalisations)
enfin un copier coller spécial valeur pour virer les liaisons.

Cordialement.

--
lSteph
( as-reçu ma réponse à ton mai?l.. cela fait déjà un moment)

Bonjour à tous,
Je voudrais mettre au point une macro qui me permettrai de récupérer
le contenu de cellules de 89 fichiers DT**.xls. Ces fichiers se
nomment DT001.xls, DT002.xls jusqu'à DT089.xls
La plage de cellules à copier commence en ligne 9 et s'étend de la
colonne B à O.
Le nombre de lignes varie d'un fichier à l'autre.
Précision les fichiers DT**.xls sont dans le même dossier.
Est-ce que quelqu'un pourrait m'aider à concevoir cette Macro.

Merci d'avance pour le temps que je vais économiser.

JP




JB
Le #5067331
Bonjour,

Sub syntèseClasseursBD()
[A2].CurrentRegion.Offset(1, 0).Resize().Clear
Set maitre = ActiveWorkbook
Repertoire = ThisWorkbook.Path
nf = Dir(Repertoire & "DT*.xls") ' premier fichier
Do While nf <> ""
Workbooks.Open Filename:=Repertoire & "" & nf
ActiveSheet.Range([B9:O9], [B9:O9].End(xlDown)).Copy _
maitre.Sheets(1).[A65000].End(xlUp).Offset(1, 0)
ActiveWorkbook.Close False
nf = Dir ' fichier suivant
Loop
End Sub

JB




On 22 nov, 06:33, wrote:
Bonjour à tous,
Je voudrais mettre au point une macro qui me permettrai de récupérer
le contenu de cellules de 89 fichiers DT**.xls. Ces fichiers se
nomment DT001.xls, DT002.xls jusqu'à DT089.xls
La plage de cellules à copier commence en ligne 9 et s'étend de la
colonne B à O.
Le nombre de lignes varie d'un fichier à l'autre.
Précision les fichiers DT**.xls sont dans le même dossier.
Est-ce que quelqu'un pourrait m'aider à concevoir cette Macro.

Merci d'avance pour le temps que je vais économiser.

JP


jpthillard
Le #5066591
On 22 nov, 09:26, JB
Bonjour,

Sub syntèseClasseursBD()
[A2].CurrentRegion.Offset(1, 0).Resize().Clear
Set maitre = ActiveWorkbook
Repertoire = ThisWorkbook.Path
nf = Dir(Repertoire & "DT*.xls") ' premier fichier
Do While nf <> ""
Workbooks.Open Filename:=Repertoire & "" & nf
ActiveSheet.Range([B9:O9], [B9:O9].End(xlDown)).Copy _
maitre.Sheets(1).[A65000].End(xlUp).Offset(1, 0)
ActiveWorkbook.Close False
nf = Dir ' fichier suivant
Loop
End Sub

JB

On 22 nov, 06:33, wrote:



Bonjour à tous,
Je voudrais mettre au point une macro qui me permettrai de récupérer
le contenu de cellules de 89 fichiers DT**.xls. Ces fichiers se
nomment DT001.xls, DT002.xls jusqu'à DT089.xls
La plage de cellules à copier commence en ligne 9 et s'étend de la
colonne B à O.
Le nombre de lignes varie d'un fichier à l'autre.
Précision les fichiers DT**.xls sont dans le même dossier.
Est-ce que quelqu'un pourrait m'aider à concevoir cette Macro.

Merci d'avance pour le temps que je vais économiser.

JP- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -


Merci à LSteph et JB. Je me suis tapé le travail à l'os pour cette
fois-ci mais je compte bien mettre votre aide à contribution pour
autre fois.
Merci encore
JP


Publicité
Poster une réponse
Anonyme