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

Fermé
Brochette0 Messages postés 6 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015 - 9 juin 2015 à 10:14
 Maurice - 9 juin 2015 à 11:02
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

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
9 juin 2015 à 10:32
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
Brochette0 Messages postés 6 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
9 juin 2015 à 10:37
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
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
9 juin 2015 à 10:45
Bonjour,

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

A+
0
Brochette0 Messages postés 6 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
9 juin 2015 à 10:59
Bonjour,

C'est ce que j'ai fait finalement. Merci pour vos réponses :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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