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

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

  • Fichier A.xlsx
    206.4 KB · Affichages: 56
  • Fichier A.xlsx
    206.4 KB · Affichages: 52
  • Fichier A.xlsx
    206.4 KB · Affichages: 50
  • Fichier B.xlsx
    98.4 KB · Affichages: 46
  • Fichier B.xlsx
    98.4 KB · Affichages: 44
  • Fichier B.xlsx
    98.4 KB · Affichages: 45
Dernière édition:

don_pets

XLDnaute Occasionnel
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
 

don_pets

XLDnaute Occasionnel
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
 

Zeylla

XLDnaute Nouveau
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

  • Fichier A.xlsx
    239 KB · Affichages: 42
  • Fichier B.xlsx
    91.5 KB · Affichages: 52
  • Fichier A.xlsx
    239 KB · Affichages: 43
  • Fichier B.xlsx
    91.5 KB · Affichages: 47
  • Fichier A.xlsx
    239 KB · Affichages: 36
  • Fichier B.xlsx
    91.5 KB · Affichages: 48

don_pets

XLDnaute Occasionnel
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é
 

Zeylla

XLDnaute Nouveau
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.
 

Discussions similaires

Réponses
6
Affichages
465

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22