Fonction Range().select

  • Initiateur de la discussion Initiateur de la discussion Jeanvaljean
  • 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 !

J

Jeanvaljean

Guest
Salut le forum, 🙂

Nouveau point de blocage : je souhaites copier une plage de cellules non contiguës d'une feuille TOTO dans une autre feuille TITI, et seule la plage A5😀5 est copiée!!!

Windows("TOTO.xlsm").Activate
Range("A5😀5,F5,H5,J5,L5").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("TITI").Activate
Range("A6").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Quelqu'un aurait-il une idée????

Merci d'avance

Jeanvaljean
 
Re : Fonction Range().select

Bonjour,

Oui, j'ai une idée 😀 :

Windows("TOTO.xlsm").Activate
Range("A5").Select
Range(Selection, Selection.End(xlDown)).Select
lastrow=rows(selection)
Range("A5😀" & lastrow & ",F5:F" & lastrow & "H5:H" & lastrow & "J5:J" & lastrow & "L5:L" & lastrow).select
Selection.Copy
Windows("TITI").Activate
Range("A6").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
 
Re : Fonction Range().select

Re:

Mea culpa, on se retrouve avec une plage sélectionnée, donc difficile d'avoir la référence d'une ligne. 🙁

Voilà le bon code :

Windows("TOTO.xlsm").Activate
Range("A5").Select
Range(Selection.End(xlDown)).Select
lastrow=rows(selection)
Range("A5" & lastrow & ",F5:F" & lastrow & "H5:H" & lastrow & "J5:J" & lastrow & "L5:L" & lastrow).select
Selection.Copy
Windows("TITI").Activate
Range("A6").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose
 
Re : Fonction Range().select

Bonjour,

Peut-être ainsi :

Code:
Option Explicit

Sub essai()
Dim Cellule As Range
Dim LigneCell As Long
Dim ColonneCell As Integer
Worksheets("TOTO").Activate
For Each Cellule In Range("A15:D15, F5, H5, J5, L5")
    LigneCell = Cellule.Row
    ColonneCell = Cellule.Column
    Cellule.Copy
    Worksheets("TITI").Activate
    Cells(LigneCell, ColonneCell).Offset(-4, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Next Cellule
End Sub

L'exemple est fait sur une plage + des cellules séparées. Attention à l'offset qui ne doit pas faire remonter la copie avant la ligne 1 (ou avant la colonne A le cas échéant !)

Cordialement
 
Re : Fonction Range().select

Bon, ça y est avec votre aide j'ai pu déterminer la solution :🙂

Windows("TOTO.xlsm").Activate
lastrow = Range("A5").CurrentRegion.End(xlDown).Row
Range("A5😀" & lastrow & ", F5:F" & lastrow & ",H5:H" & lastrow & ",J5:J" & lastrow & ",L5:L" & lastrow & "").Select
Selection.Copy
Windows("TITI").Activate
Range("A6").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Bonne soirée à tous,

Jeanvaljean
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
18
Affichages
597
Réponses
10
Affichages
791
Réponses
2
Affichages
399
Réponses
17
Affichages
1 K
Retour