VBA : sélectionner la dernière cellule d'une colonne
Fermé
ludo333
-
21 juin 2019 à 11:51
Mike-31 Messages postés 18341 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 14 octobre 2024 - 21 juin 2019 à 19:05
Mike-31 Messages postés 18341 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 14 octobre 2024 - 21 juin 2019 à 19:05
A voir également:
- Selectionner la derniere cellule non vide d'une colonne excel vba
- Déplacer une colonne excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
- Excel cellule couleur si condition texte - Guide
2 réponses
Mike-31
Messages postés
18341
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 octobre 2024
5 101
Modifié le 21 juin 2019 à 14:20
Modifié le 21 juin 2019 à 14:20
Bonjour,
plusieurs possibilités, exemple tu veux copier colonne A à partir de la cellule A2 à la dernière cellule non vide
Range(Range("A2"), Range("A65000").End(xlUp)).Select
ou encore
Range([A2], [A65000].End(xlUp)).Select
ou sans passer par select ce qui est mieux
Range(Range("A2"), Range("A65000").End(xlUp)).Copy
Range([A2], [A65000].End(xlUp)).Copy
plusieurs possibilités, exemple tu veux copier colonne A à partir de la cellule A2 à la dernière cellule non vide
Range(Range("A2"), Range("A65000").End(xlUp)).Select
ou encore
Range([A2], [A65000].End(xlUp)).Select
ou sans passer par select ce qui est mieux
Range(Range("A2"), Range("A65000").End(xlUp)).Copy
Range([A2], [A65000].End(xlUp)).Copy
Mike-31
Messages postés
18341
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 octobre 2024
5 101
Modifié le 21 juin 2019 à 19:34
Modifié le 21 juin 2019 à 19:34
Re,
regarde comme cela pour copier les valeurs de la colonne A puis colonne B à la suite colonne C
Range(Range("A2"), Range("A65000").End(xlUp)).Copy
Range("C65000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Range(Range("B2"), Range("B65000").End(xlUp)).Copy
Range("C65000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Plus technique tu peux faire sans passer par Select en deux ligne de code
et encore plus court
mais tu n'as aucune protection pour éviter de copier plusieurs fois les même données
regarde comme cela pour copier les valeurs de la colonne A puis colonne B à la suite colonne C
Range(Range("A2"), Range("A65000").End(xlUp)).Copy
Range("C65000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Range(Range("B2"), Range("B65000").End(xlUp)).Copy
Range("C65000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Plus technique tu peux faire sans passer par Select en deux ligne de code
Range(Range("A2"), Range("A65000").End(xlUp)).Copy Destination:=Range("C65000").End(xlUp).Offset(1, 0)
Range(Range("B2"), Range("B65000").End(xlUp)).Copy Destination:=Range("C65000").End(xlUp).Offset(1, 0)
et encore plus court
Range([A2], [A65000].End(xlUp)).Copy Destination:=[C65000].End(xlUp).Offset(1, 0)
Range([B2], [B65000].End(xlUp)).Copy Destination:=[C65000].End(xlUp).Offset(1, 0)
mais tu n'as aucune protection pour éviter de copier plusieurs fois les même données
Modifié le 21 juin 2019 à 18:51
En gros j'avais essayé ça :
Range("B2:B100").Select
Selection.Copy
Range("C65000").End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Mais ça ne marche parce que la copie de la colonne B s'annule une fois qu'on sélectionne d'autres cellules...
As-tu une solution ?
21 juin 2019 à 18:52
Range(Range("B2"), Range("B1000").End(xlUp)).Copy
Range("C65000").End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ça marche comme ça :)