Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recopier données de fichiers fermés

  • Initiateur de la discussion Initiateur de la discussion Viteazul
  • 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 !

Viteazul

XLDnaute Nouveau
Bonjour à tous,

Je suis dans la gadou ^^


Enfaite j'aimerai faire une macro VBA qui va chercher des classeurs excel dans un dossier et qui copie tout leurs contenus dans un fichier principal (les contenus se mettent dans la même feuille à l'un à la suite des autres).


J'ai déja cherché pas mal de temps sur la toile et j'ai trouvé des choses interessantes, notamment :

Code:
Option Explicit

Sub ImporterDates()

Dim Chemin As String, Fichier As String
Dim i As Long

Dim DernLigne As Long

    Columns(1).NumberFormat = "m/d/yyyy"
    Chemin = "C:\Users\Tuco\Desktop\Analyse par heure et par mois\"
    [B1] = Chemin
    Fichier = Dir(Chemin & "*.xls")
    Do While Len(Fichier) > 0
        If Fichier <> ThisWorkbook.Name Then
        
        i = 123
            ThisWorkbook.Names.Add "Plage", _
            RefersTo:="='" & Chemin & "[" & Fichier & "]Feuil1'!$A$1:$H$" & i
            
            
            With Sheets("Feuil2")
            
            DernLigne = .Range("A" & Rows.Count).End(xlUp).Row
                .Range("A1:H" & i) = "=Plage"
                .Range("A1:H" & i).Copy
                Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
            End With
        End If
        Fichier = Dir()
    Loop
End Sub

Bon j'ai déja bidouillé ce code, ca à l'air de fonctionner pour recopier les i première lignes. Le problème c'est que je dois maintenant définir i comme le nombre de ligne du fichier dont je souhaite copier les données. Mais je ne sais pas comment faire !

Je sais compter le nombre de ligne du fichier déjà ouvert, mais pas celui du fichier fermé.

Enfin je m'embrouille totalement, j'ai même essayé les ADO mais aucun ne veux fonctionner.

Bref, je nage totalement maintenant.

Merci d'avance à ceux qui m'ont lu.

Cordialement,

Viteazul
 
Re : Recopier données de fichiers fermés

Bonjour,
par rapport a l'exemple:
Code:
DernLigne = [COLOR="#0000CD"]workbooks("nom du fichier").Sheets("nom de la feuille").[/COLOR]Range("A" & Rows.Count).End(xlUp).Row
A+
 
Dernière édition:
Re : Recopier données de fichiers fermés

Bonjour,

Merci de la réponse rapide.

Le fichier dont je souhaite coppier les lignes est fermé, je n'arrive pas à faire fonctionner ton code, je pense il fonctionne uniquement si j'ouvre le fichier ?
 
- 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

Discussions similaires

Réponses
5
Affichages
235
Réponses
5
Affichages
182
Réponses
4
Affichages
177
Réponses
3
Affichages
672
Réponses
4
Affichages
461
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
860
Réponses
9
Affichages
580
Réponses
3
Affichages
665
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…