VBA : copie d'une sélection de cellules disjointes

Brochette0 Messages postés 6 Statut Membre -  
 Maurice -
Bonjour,

Je débute en VBA, j'ai un gros fichier de données, je souhaite sélectionner une cellule toutes les 8 lignes (ça c'est bon), et ensuite copier cette sélection dans une autre feuille. Malheureusement je rencontre un souci ; voici mon code :

//
Sub SelectMultiCell()

Sheets("Avant bias").Activate
For i = 2 To 594 Step 8
Union(Selection, Cells(i, 3)).Select
Next i
Selection.Copy

End Sub
//

Au moment d'exécuter, excel m'affiche le message d'erreur suivant : "Impossible d'exécuter cette commande sur des sélections multiples".

Après 1 ou 2 tests je me suis rendue compte que cela venait de l'instruction "Selection.Copy". Quelqu'un aurait-il une idée pour m'aider ?

Merci pour votre aide :)

5 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Le message est clair : tu ne peux pas copier-coller une sélection multiple.
    Il faut le faire plage par plage, au fur et à mesure.
    eric
    0
  2. Brochette0 Messages postés 6 Statut Membre
     
    Bonjour Eric,

    Merci pour ta réponse ; dans ce cas je devrais pouvoir faire ça via VBA en intégrant la copie à l'intérieur de la boucle, non ?
    0
  3. Gyrus Messages postés 3360 Statut Membre 526
     
    Bonjour,

    Pourquoi ne pas effectuer la copie de chaque cellule plutôt que chercher à effectuer la copie d'une multi-sélection ?

    A+
    0
  4. Brochette0 Messages postés 6 Statut Membre
     
    Bonjour,

    C'est ce que j'ai fait finalement. Merci pour vos réponses :)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Maurice
     
    Bonjour
    Voila une macro Copy Ligne
    A toi de voir

    Sub SelectLigne()
    Sheets("Avant bias").Activate
    L = 2
    For I = 2 To 594 Step 8
    Rows(I).Copy
    Sheets("Cible").Range("A" & L).PasteSpecial xlPasteValues
    L = L + 1
    Next I
    Application.CutCopyMode = False
    End Sub

    A+
    Maurice
    -1