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

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

Bonsoir Job75,
je vous remercie tout d'abord pour la célérité de votre réponse si limpide.
ce ne serait pas possible de faire tout cela avec un code en le liant à un bouton sans passer par les formules ?

Merci d'avance
 
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

Bonsoir Job75,

je ne sais pas si je peux me permettre de solliciter votre aide pour une modification dans le code en rajoutant une condition dans le code ?
ne pas importer aussi les données dont la valeur de la colonne E égale à ZERO

Merci d'avance
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…