Couper une sélection dans un autre classeur

Bonjour,

Je voudrais couper une sélection d'un classeur pour la coller dans un autre classeur.

Or quand je le fais la macro me colle tout le classeur d'origine et pas juste la sélection.

Dans le fichier en pj (qui normalement contient des milliers de lignes) je veux couper les lignes "Feu orange Arrivée" et "Feu vert Arrivée" pour les coller dans un autre classeur.

Savez-vous comment faire ?

merci d'avance.

3test-pgm.zip (8.82 Ko)

Bonjour,

Tu ne peux pas couper sur des sélections multiples, tu veux couper les données, ou les copier?

Je te propose une solution par macro, tu peux l'appeler via le bouton macro.

Merci Ausecour toujours d'un très grand... secours

Néanmoins j'avoue ne pas très bien comprendre ce code (qui au final me convient). Si je veut copier les lignes dans un autre classeur, je ne saisie pas comment faire.

Pourrais-tu m'expliquer ton code stp ?

Pour être clair, ma macro est dans un classeur 1, elle ouvre le classeur 2 dans le lequel il y a les données (Test pgm) et filtre les bonnes données.

Du coup je voudrai copier la sélection après filtre dans une autre feuille du classeur 2.

Merci d'avance.

Rebonjour,

Je te transmets une version commentée du code:

Sub test()
der_lig = Range("a" & Rows.Count).End(xlUp).Row
'Si le tableau contient autre chose que des en-têtes, vérifie ça sur la colonne A, 
'veiller à ce que cette colonne soit remplie dans le tableau
If der_lig > 3 Then
    tableau = Range("a1", "z" & der_lig)

    'Sélection de la feuille dans laquelle écrire
    With Feuil2 'Remplacer par With Workbooks("nomfichier").Sheets("Nomfeuille")

        'Vide la feuille actuelle de toutes ses données
        .Cells = ""

        'initialise la ligne à laquelle commencer à exporter
        lig_export = 2

        'export du tableau
        For i = 4 To UBound(tableau, 1)
            'vérifie si la ligne est affichée après filtre ou non
            If Cells(i, 1).EntireRow.Hidden = False Then
                For j = LBound(tableau, 2) To UBound(tableau, 2)
                    .Cells(lig_export, j) = tableau(i, j)
                Next j
                lig_export = lig_export + 1
            End If
        Next i
        'Si au moins une ligne a été exportée on exécute ces lignes
        'export des en-têtes (sans mise en forme)
        If lig_export > 2 Then
            For j = LBound(tableau, 2) To UBound(tableau, 2)
                .Cells(1, j) = tableau(3, j)
            Next j
        End If
    End With
End If
End Sub

La seule chose que tu devras modifier pour exporter les données sur la feuille d'un autre classeur c'est:

With Feuil2 'Remplacer par With Workbooks("nomfichier").Sheets("Nomfeuille")
end with

J'explique dans le commentaire qu'il faut remplacer Feuil2 par Workbooks("nomfichier").sheets("Nomfeuille")

Il faut déjà préciser qu'on va chercher une feuille dans un autre classeur que celui qui est activé, donc on doit d'abord mettre Workbooks("nomfichier") ("exemple.xlsx" par exemple)

Ensuite il faut donner la feuille, dans ce classeur, dans laquelle on va exporter nos données, ici : sheets("Nomfeuille")

J'espère que ce sera plus clair pour toi

à la base je commentais toujours mes programmes, mais les membres ne cherchent pas toujours à comprendre les programmes, du coup je ne le fais plus que sur demande quasiment

Merci énormément c'est beaucoup plus clair d'un coup.

Perso je ne comprends pas qu'on utilise du code sans piger ce qu'il fait mais bon.

J'en apprends quand même beaucoup sur ce site et c'est cool merci pour ta réactivité et ta gentillesse.

Tu as deux catégories de personnes qui viennent sur le site:

  • ceux qui veulent une solution, tu leur donnes, ils disent merci parfois, et partent, créent potentiellement un sujet plus tard avec des explications pas terribles derrière pour modifier ce que tu as fait car ils n'ont pas compris.
  • ceux qui veulent avancer sur Excel, et qui s'intéressent aux solutions que tu leur fournis, quand ils demandent de l'aide, tu sens qu'ils se sont investis dans ce que tu as fait.

C'est ma vision, certains utilisent Excel comme une corvée d'après moi, et du coup se contentent de la faire, et d'autres utilisent essayent de prendre en main le logiciel, de le comprendre pour mieux l'utiliser, ça fait la différence, et ça change également la façon dont on les aide.

En tout cas, moi, quand je vois que la personne n'a pas envie, je ne souhaite pas aller plus loin dans l'aide...

une personne de la deuxième catégorie: https://forum.excel-pratique.com/viewtopic.php?f=2&t=119599

Son message faisait envie, du coup je suis allé un peu plus loin dans l'apport de solution

Rechercher des sujets similaires à "couper selection classeur"