Copier/Coller avec condition vers un autre fichier excel (macro vba)

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

Zeylla

XLDnaute Nouveau
Bonjour à tous,

je souhaiterais copier coller les données du fichier A vers le fichier B.

Avec les conditions suivantes:
- Copier l'ensemble des lignes L1 à L12 (fichier A),
- Coller les valeurs uniquement (sur fichier B) après la dernière ligne contenant du texte.

Faire une macro pour copier coller n'est pas trop compliqué on en trouve pas mal sur internet pareil pour les conditions
.
Ce que je n'arrive pas à faire c'est dire à ma macro copie tel ligne à tel ligne (Fichier A) vers la dernière ligne contenant du texte sur le fichier B.

Si vous pouviez me donner un petit coup de main, ce serait vraiment sympathique.

Merci d'avance.
Cdlt Zeylla.
 

Pièces jointes

Dernière édition:
Re : Copier/Coller avec condition vers un autre fichier excel (macro vba)

Bonjour,

un truc dans ce goüt là ?

Code:
Sheets("Fichier A").Activate
Sheets("Nom_Feuil1").Range("L11:L12").Select
Selection.Copy
sheets("Fichier B").Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
 
Re : Copier/Coller avec condition vers un autre fichier excel (macro vba)

Bon, je suis allé bien plus vite que la musique,

Voici mon correctif. Dans l'idée :
- En un tu importes les données sur un nouvel onglet
- En deux tu colels tes données à la suite ton onglet data
- En trois tu supprimes l'onglet importé

Il y a certainement beaucoup plus simple, mais aujourd'hui je me sens d'humeur poète !

Code:
    ' Importer
Dim nom$, WBKSource As Workbook
With Application.FileDialog(msoFileDialogOpen)
   .Title = "Yeaaa choose your Fichier"
    .Filters.Clear
    .Filters.Add "Ton Tableur", "*.xlsX*, *.Xlsm*, *.Xls*"
    .AllowMultiSelect = False
        If .Show <> 0 Then
        nom = .SelectedItems(1)
            Set WBKSource = Workbooks.Open(nom)
           With WBKSource
                .ActiveSheet.Copy Before:=ThisWorkbook.Sheets(1)
                .Close False
            End With
        Else
        MsgBox "Boaaa t'veux rien !", , "dô_Ôb": Exit Sub
        End If
End With


    ' Copier coller
Sheets(1).Activate
Sheets(1).Range("L1:L12").Select
Selection.Copy

Sheets("data").Activate
Sheets("data").Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False


    ' Supprimer l'onglet
Application.DisplayAlerts = False
Sheets(1).Delete
Application.DisplayAlerts = True
 
Re : Copier/Coller avec condition vers un autre fichier excel (macro vba)

Salut don_pets et merci pour ton aide, certain partie de ton code mon fait rire ^^

sinon pour revenir au mouton je me suis aidé de ton code pour aboutir à ce que je voulais réellement.
Seul hic et oui j'ai toujours un hic ...
Quand j'utilise 1 fois la macro aucun problème, seulement celle-ci va être utilisé en permanence... et lors de la 2eme utilisation j'ai une erreur qui apparait.

Je pense avoir compris le problème.
Je copie les cellules A2 à IHquelque chose ; je colle les valeurs uniquement. Seulement mais cellules initiale possède des formules du type si(esterreur( ))) etc afin d'enlever les #div/0! ou les 0.
Et au final apres un collage je me retrouve avec des cases vides qui ne le sont pas réellement (marquer en bas a droite case non vide alors qu'il y a rien dedans ....)

Bref je vous donnes les 2 fichiers pour mieux comprendre, car pas évident à expliquer.
 

Pièces jointes

Re : Copier/Coller avec condition vers un autre fichier excel (macro vba)

Euh tu m'as renvoyé les mêmes fichiers où je n'ai rien dedans !

Mais si je comprends ta logique, tu veux prendre à chaque fois les 12 premières lignes (toutes les colonnes ?). Par contre je ne vois pas où est l'erreur à la deuxième utilisation, puisque le fichier initial (le A) est fermé
 
Re : Copier/Coller avec condition vers un autre fichier excel (macro vba)

Salut don_pets au final j'ai réussi à faire ce que je voulais avec quelque ligne de code.

Sinon l'erreur était la suivante: la macro ouvrai une fichier B et le sauvegardais sans le fermer.
Lors de la réutilisation de cette macro, elle ouvrait de nouveau le fichier B, ce qui générais une erreur.
Du coup j'ai rajouté une ligne de code pour fermer le fichier B.
 
- 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
4
Affichages
259
Réponses
9
Affichages
605
Retour