XL 2013 importation données d'un fichier fermé

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 !

michel-nac

XLDnaute Nouveau
Bonjour à tous,

je chercher à faire l'importation des données de Feuil1 du classeur Balance vers la feuille RECAP de la feuille Plan à partir de la ligne 2, tout en respectant la trame de la feuille RECAP c'est à dire les bordures du tableau

Merci d'avance
 

Pièces jointes

Bonjour michel-nac, bienvenue sur XLD,

Téléchargez les fichiers joints en les laissant dans le même répertoire.

Le fichier Plan.xlsx récupère les valeurs du fichier Balance.xlsx grâce à des formules de liaison.

Les valeurs zéro ne sont pas affichées.

Les bordures du tableau sont appliquées par 5 MFC séparées.

A+
 

Pièces jointes

Re,
oui je préfère utiliser le VBA et je n'ai pas de préfère au fait quant à l'ouverture du fichier.
La macro du bouton :
Code:
Sub Importer()
Dim F As Worksheet
Set F = ThisWorkbook.Sheets("RECAP")
Application.ScreenUpdating = False
F.Rows("2:" & F.Rows.Count).Delete 'RAZ
On Error Resume Next
With Workbooks.Open(ThisWorkbook.Path & "\Balance.xlsx").Sheets(1) 'adaptable
    With .[A1].CurrentRegion
        F.[A1].Resize(.Rows.Count, .Columns.Count) = .Value 'copie les valeurs
    End With
    .Parent.Close False
End With
'---bordures---
With F.[A1].CurrentRegion
    .Borders.Weight = xlThin
    .Offset(1).Resize(.Rows.Count - 1).Borders(xlInsideHorizontal).Weight = xlHairline
End With
End Sub
Fichiers joints à télécharger dans le même répertoire (le bureau).

A+
 

Pièces jointes

Bonjour Job75,

je m'excuse de vous déranger une autre fois au sujet de ma problématique.
est ce qu'il y'a possibilité d'ajuster le code pour qu'il n'importe que les données dont le code de la colonne B du classeur Balance commence avec la lettre D.
autrement dit il ne faut pas importer les lignes dont le code de la colonne B commence avec une autre lettre.
(parce qu'il se peut que la colonne B contienne d'autres codes alors que ce qui m’intéresse sont juste ceux qui commencent avec D)

Merci d'avance
 
Bonjour michel-nac, le forum,

La meilleure solution (la plus rapide) est d'utiliser un tableau VBA pour filtrer :
Code:
Option Compare Text 'facultatif, la casse est ignorée

Sub Importer()
Dim F As Worksheet, tablo, ncol, i&, n&, j%
Set F = ThisWorkbook.Sheets("RECAP")
Application.ScreenUpdating = False
F.Rows("2:" & F.Rows.Count).Delete 'RAZ
On Error Resume Next
With Workbooks.Open(ThisWorkbook.Path & "\Balance.xlsx").Sheets(1) 'adaptable
    tablo = .[A1].CurrentRegion 'matrice, plus rapide
    ncol = UBound(tablo, 2)
    n = 1
    For i = 2 To UBound(tablo)
        If tablo(i, 2) Like "D*" Then
            n = n + 1
            For j = 1 To ncol
                tablo(n, j) = tablo(i, j)
            Next
        End If
    Next
    .Parent.Close False
End With
'---restitution---
F.[A1].Resize(n, ncol) = tablo
'---bordures---
With F.[A1].CurrentRegion
    .Borders.Weight = xlThin
    .Offset(1).Resize(.Rows.Count - 1).Borders(xlInsideHorizontal).Weight = xlHairline
End With
End Sub
Fichier (2), j'ai mis des "X" en colonne B du fichier Balance.xlsx.

A+
 

Pièces jointes

- 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

Retour