Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

sélection multiple étendue

  • Initiateur de la discussion Initiateur de la discussion Blafi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Blafi

XLDnaute Occasionnel
Bonjour,

J'ai un fichier avec des noms d'adhérents et plusieurs renseignements (je joins un extrait simplifié et anonymisé).

J'ai besoin de sélectionner plusieurs cellules séparées dans la colonne A puis pour chacune de ces cellules d'étendre la selection sur les 5 cellules adjacentes de la même ligne (en fait j'ai 8 ou 9 colonnes de renseignements sur la même ligne d'un enregistrement)

Tout cela pour les copier et les coller ensuite dans un autre fichier, ce que je sais faire en VBA sans pb..

J'ai essayé avec une boucle après avoir sélectionné mes cellules à la souris en faisant :

For Each cel In Selection
'j'étend la selection
ActiveCell.Range("A1:F1").Select
Selection.Copy
'j'active l'autre fichier ouvert
Windows("autre fichier.xlsx").Activate
'je cherche la dernière ligne vide
DerligneC1 = Sheets("autre fichier.xlsx").Range("C65536").End(xlUp).Offset(1, 0).Row
Range("A" & DerligneC1).Select
' je colle
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("mon fichier.xlsm").Activate
Application.CutCopyMode = False
Next

Problème : en faisant comme cela, je copie plusieurs fois la même ligne de cellules...

Il ya a un truc qui ne marche pas, mais lequel ?

Merci d'avance si vous pouvez m'aider..
 

Pièces jointes

Re : sélection multiple étendue

Bonjour

Comme tu boucle sur toutes les cellules selectionnées et qu'en suite tu selectionne plein d'autres choses, ç a ne peux pas fonctionner correctement.
Une proposition:
VB:
Sub test()
Dim cel As Range
For Each cel In Selection
    cel.Resize(1, 6).Copy Workbooks("Classeur3.xlsx").Sheets("Feuil1").Range("C65536").End(xlUp).Offset(1, 0)
Next cel
End Sub
Classeur3.xlsx et Feuil1 sont a adapter

Cordialement
 
Re : sélection multiple étendue

Re
Bonjour john
...plus vite que moi Efgé
Normal, c'était plus court à écrire 😀

D'ailleurs en parlant de plus court, une proposition pas plus longue en nombre de lignes mais certainement plus rapide :
VB:
Sub test()
Dim cel As Range
For Each cel In Selection.Areas
    cel.Resize(cel.Rows.Count, 6).Copy Workbooks("Classeur3.xlsx").Sheets("Feuil1").Range("C65536").End(xlUp).Offset(1, 0)
Next cel
End Sub

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
234
Réponses
5
Affichages
494
Réponses
2
Affichages
626
Réponses
2
Affichages
509
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…