OVH Cloud OVH Cloud

déplacements et sélections d'une plage de cellules dans un programme

4 réponses
Avatar
Bidou
Bonjour,

Avec VBA ( j'utilise le Pack office 97) je voudrais savoir à quoi sert le
range dans l'instruction suivante, pourquoi l'utilise t'on
ActiveCell.Offset(0, -3).Range("a1:c1").Select

Je voudrais par exemple à partir de la cellule f1 sélectionner les trois
cellules situées à sa gauche ( pour pouvoir ensuite recopier leurs valeurs
dans une autre feuille.

Merci de votre aide

4 réponses

Avatar
anonymousA
bonjour,

ActiveCell.Offset(0, -3) décale de 3 colonnes vers la gauche puis à
partir de cette cellule détermine de manière relative les 3 cellules à
droite (Range("a1:c1")) et enfin selectionne ces dernières. Un peu
alambiqué mais ca fonctionne
range(activecell.offset(0,-3),activecell.offset(0,-1)).select fait la
même chose en un peu plus clair (mais à peine) , c'est à dire ce que tu
demandes.

A+

Bonjour,

Avec VBA ( j'utilise le Pack office 97) je voudrais savoir à quoi sert le
range dans l'instruction suivante, pourquoi l'utilise t'on
ActiveCell.Offset(0, -3).Range("a1:c1").Select

Je voudrais par exemple à partir de la cellule f1 sélectionner les trois
cellules situées à sa gauche ( pour pouvoir ensuite recopier leurs valeurs
dans une autre feuille.

Merci de votre aide




Avatar
michdenis
Bonjour Bilou,

Tu peux aussi utiliser ceci :

Range("F1").offset(0,-3).resize(,3).select
'Ceci ressemble à la fonction Decaler() de la feuille de calcul
.offset(0,-3) -> déplace la cellule de référence de 3 colonnes vers la droite soit C1
-> le calcul se fait à partir de la cellule suivante

.resize(,3) -> redimensionne la plage C1 en C1:E1
-> le calcul se fait en incluant la cellule de référence

Ou

Range("F1").offset(0,3).resize(,3).copy _
Range("AdresseDeLaCelluleDeDestination")


Salutations!


"Bidou" a écrit dans le message de news: 433c1c94$0$990$
Bonjour,

Avec VBA ( j'utilise le Pack office 97) je voudrais savoir à quoi sert le
range dans l'instruction suivante, pourquoi l'utilise t'on
ActiveCell.Offset(0, -3).Range("a1:c1").Select

Je voudrais par exemple à partir de la cellule f1 sélectionner les trois
cellules situées à sa gauche ( pour pouvoir ensuite recopier leurs valeurs
dans une autre feuille.

Merci de votre aide
Avatar
Bidou
Bonjour,

Merci à vous deux




"Bidou" a écrit dans le message de news:
433c1c94$0$990$
Bonjour,

Avec VBA ( j'utilise le Pack office 97) je voudrais savoir à quoi sert le
range dans l'instruction suivante, pourquoi l'utilise t'on
ActiveCell.Offset(0, -3).Range("a1:c1").Select

Je voudrais par exemple à partir de la cellule f1 sélectionner les trois
cellules situées à sa gauche ( pour pouvoir ensuite recopier leurs valeurs
dans une autre feuille.

Merci de votre aide




Avatar
Ange Ounis
Je voudrais par exemple à partir de la cellule f1 sélectionner les trois
cellules situées à sa gauche


Autre syntaxe possible (en utilisant la propriété Item - ou _Default - des
cellules et le Resize proposé par Denis) :

ActiveCell(, -2).Resize(, 3).Select

----------
Ange Ounis
----------

Bonjour,

Avec VBA ( j'utilise le Pack office 97) je voudrais savoir à quoi sert le
range dans l'instruction suivante, pourquoi l'utilise t'on
ActiveCell.Offset(0, -3).Range("a1:c1").Select

Je voudrais par exemple à partir de la cellule f1 sélectionner les trois
cellules situées à sa gauche ( pour pouvoir ensuite recopier leurs valeurs
dans une autre feuille.

Merci de votre aide