Bonjour =E0 tous,
Je voudrais mettre au point une macro qui me permettrai de r=E9cup=E9rer
le contenu de cellules de 89 fichiers DT**.xls. Ces fichiers se
nomment DT001.xls, DT002.xls jusqu'=E0 DT089.xls
La plage de cellules =E0 copier commence en ligne 9 et s'=E9tend de la
colonne B =E0 O.
Le nombre de lignes varie d'un fichier =E0 l'autre.
Pr=E9cision les fichiers DT**.xls sont dans le m=EAme dossier.
Est-ce que quelqu'un pourrait m'aider =E0 concevoir cette Macro.
Merci d'avance pour le temps que je vais =E9conomiser.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
LSteph
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
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.
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
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
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, jpthill...@free.fr 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.
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
On 22 nov, 09:26, JB wrote:
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
On 22 nov, 09:26, JB <boisgont...@hotmail.com> wrote:
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, jpthill...@free.fr 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
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