Copier tableau taille variable dans autre feuille

Bonjour à tous!

Désolée de vous déranger mais je suis une pure néophyte en ce qui concerne VBA et j'ai vraiment du mal à aboutir à quelquechose.

Donc ce que je veux faire:

J'ai un fichier excel comprenant différentes data. Je veux qu'à chaque fois qu'une cellule dans la colonne A contient "Sample Name", une sélection soit faites en partant de cette même cellule. La sélection doit couvrir 8 colonne et descendre d'un nombre de ligne variable et s'arrêter en rencontrant une ligne vide.

Cette sélection doit ensuite être copiée dans une autre feuille.

Ces deux actions doivent subir un loop afin d'extraire tous les tableaux de ce genre contenus dans la première feuille et les copier dans la deuxième.

En glanant des info sur le net, j'ai aboutit à ça:

Sub Macro1()

'

' Macro1 Macro

'

'

Dim s_source As Sheets

Dim s_target As Sheets

Dim cell_source_1er As Range

Dim cell_source_der As Range

Dim cell_target As Range

Set s_source = Sheets("A")

Set s_target = Sheets("B")

Set cell_source_1er = s_source(Range("A").Find(what:="Name Sample"))

If Not cell_source_1er Is Nothing Then

first = cell_source_1er.Address

Do

Set cell_source_der = cell_source_1er.End(xlDown).Offset(0, 8 )

Set cell_target = s_target.Range("N2")

s_source(Range(cell_prems, cell_source_der)).Copy cell_target

Set cell_source_1er = Sheets("A").Range("A").FindNext(cell_source_1er)

Loop While Not cell_source_1er Is Nothing And cell_source_1er.Address <> firstAddress

End If

End Sub

Et ça ne marche pas du tout. J'obtient l'erreur "Membre de méthode ou de données introuvable". Je ne sais pas ce qui cloche et n'arrive pas à trouver la solution en ligne.

Merci encore pour votre aide.

Bonjour,

Je pense que la meilleure façon d'obtenir une réponse fiable, c'est encore de joindre un fichier exemple, exempt de toutes données confidentielles, et possédant la même structure que ton fichier original.

Avec ce que tu as, et ce que tu voudrais obtenir.

@ te relire

Bonjour,

Ce serait mieux d'avoir un fichier modèle ...

Sinon à tester :

Sub Macro1()

Dim s_source As Worksheet
Dim s_target As Worksheet
Dim cell_source_1er As Range
Dim cell_source_der As Range
Dim cell_target As Range
Dim first As String

Set s_source = Sheets("A")
Set s_target = Sheets("B")
Set cell_source_1er = s_source.Range("A:A").Find(what:="Name Sample")
If Not cell_source_1er Is Nothing Then
    first = cell_source_1er.Address
    Do
        Set cell_source_der = cell_source_1er.End(xlDown).Offset(0, 8)
        s_source(Range(cell_prems, cell_source_der)).Copy s_target.Range("N2")
        Set cell_source_1er = s_source.Range("A").FindNext(cell_source_1er)
        Loop While Not cell_source_1er Is Nothing And cell_source_1er.Address <> firstAddress
End If
End Sub

Attention que cell_prems ne correspond à rien dans ce code. Je suppose qu'il s'agit d'une donnée enregistrée comme Nom dans le fichier.

Crdlt

Rechercher des sujets similaires à "copier tableau taille variable feuille"