Sélectionner et copier une plage de cellules

mikel831 Messages postés 120 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 28 avril 2024 - 9 avril 2024 à 15:43
yg_be Messages postés 22752 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 mai 2024 - 9 avril 2024 à 20:40

Bonjour,
Dans un code Excel vba, j'ai défini dans Feuil2  deux objets Range nommés Debut et Fin . En supposant par exemple que:
* Debut soit la cellule A1
* Fin soit la cellule A10
1) comment définir l'objet Range nommé MaPlage qui serait la zone A1:D10
2) pour ensuite la copier et la coller dans la feuil1 en cellule E300 (par exemple)


Windows / Chrome 123.0.0.0

A voir également:

1 réponse

yg_be Messages postés 22752 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 mai 2024 1 477
9 avril 2024 à 15:48

(re)bonjour,

d'où vient D10?

0
yg_be Messages postés 22752 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 mai 2024 1 477
Modifié le 9 avril 2024 à 15:57

un exemple:

Option Explicit

Private Sub tt()
Dim debut As Range, fin As Range, maplage As Range
Set debut = Sheets("2").[a1]
Set fin = Sheets("2").[d10]
Set maplage = Range(debut, fin)
maplage.Copy Sheets("1").[f12]
End Sub
0
mikel831 Messages postés 120 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 28 avril 2024 10
9 avril 2024 à 16:05

C'est 3 colonnes après la colonne A

0
mikel831 Messages postés 120 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 28 avril 2024 10 > yg_be Messages postés 22752 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 mai 2024
Modifié le 9 avril 2024 à 16:35

Merci pour ta réponse!
Mais les adresses A1 et D10 sont des exemples pour imager le problème.
En fait j'ai du code qui détermine les deux Range Debut et Fin ! 
Je ne sais pas comment coder la définition de MaPlage que j'exprimerais en langage courant par " sélectionner la plage de cellules de Début à Fin+3 colonnes "
 

0
yg_be Messages postés 22752 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 mai 2024 1 477 > mikel831 Messages postés 120 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 28 avril 2024
9 avril 2024 à 16:44

Ce serait plus simple si tu donnais le code que tu as déjà.

Tu as déjà oublié la fonction offset()?

Set maplage = Range(debut, fin.Offset(,3))
0
mikel831 Messages postés 120 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 28 avril 2024 10 > yg_be Messages postés 22752 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 mai 2024
Modifié le 9 avril 2024 à 20:07

Super: ça fonctionne parfaitement ....
Désolé pour mon code un peu maladroit et pas très orthodoxe mais je suis de la génération des années 70, et j'ai fait mes études scientifiques à la Faculté des Sciences, à l'époque des IBM 1130 alimentés par des cartes perforées; on programmait en Fortran ... J'ai étudié un peu plus tard la programmation VBA, mais c'est très loin et j'ai peu pratiqué !
Merci encore pour ton aide. Cordialement, Mikel 

1