OVH Cloud OVH Cloud

Déplacement

2 réponses
Avatar
Richard Martin
Quel est la commande pour faire déplacer le curseur une cellule plus bas ,
en haut, à droite ou à gauche en macro.

Ex : Je veux à partir d'une cellule aller voir vers le bas jusqu'à la
dernière cellule utilisée (CTRL+flèche bas) lors de l'enregistrement et
ensuite qu'il descende une cellule plus bas avant de coller...

Il me manque le dernier déplacement, une cellule vers le bas... et les
autres direction tant qu'à y être.

Merci d'avance !

Richard

2 réponses

Avatar
anonymousA
bonsoir,

cells(X,Y).Offset(A, B).Select t'emmenera où tu veux dans la feuille
pour peu que tu respectes les règles suivantes:

A est le décalage de ligne et B est le décalage de colonne par rapport à
la cellule origine (ici cells(X,Y)) . A et B peuvent être des nombres
relatifs mais evidemment limités par les contraintes d'Excel , donc A
appartennant à l'intervalle [-65535,65535] et B appartennant à
l'intervalle [-255,255] et liés à X et à Y de telle sorte que
1 <= X+A <e536 et 1 <= Y+B <%6 avec bien sur 1 <=X<e536
et 1 <= Y <%6 .

Dans le cas qui t'interesse l'instruction est
cells(X,Y).end(xldown).offset(A,B).select et tu choisis A et B
judicieusement (c.à.d où t'amène le end(xldown) par rapport à cells(X,Y)
) selon les règles précédentes pour t'emmener où tu veux sur la feuille

A+


Quel est la commande pour faire déplacer le curseur une cellule plus bas ,
en haut, à droite ou à gauche en macro.

Ex : Je veux à partir d'une cellule aller voir vers le bas jusqu'à la
dernière cellule utilisée (CTRL+flèche bas) lors de l'enregistrement et
ensuite qu'il descende une cellule plus bas avant de coller...

Il me manque le dernier déplacement, une cellule vers le bas... et les
autres direction tant qu'à y être.

Merci d'avance !

Richard




Avatar
jps
bonsoir richard
un truc dans ce style, peut-être :

Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop

tu notes que dans Offset (1,0) qui permet le déplacement à partir de la
dernière cellule non vide trouvée par la boucle Do While...Loop, le 1
signifie UNE ligne plus bas et le 0 ^signifie qu'on reste dans la même
colonne
donc, si tu veux te déplacer dans la première colonne vers la droite, tu
remplaces le 0 par 1 et vers la gauche par -1 (ou 2 et -2 si tu veux aller
dans la colonne suivante resp. à droite ou à gauche, etc....
l'ai-je bien descendue?
jps

"Richard Martin" a écrit dans le message de
news:
Quel est la commande pour faire déplacer le curseur une cellule plus bas ,
en haut, à droite ou à gauche en macro.

Ex : Je veux à partir d'une cellule aller voir vers le bas jusqu'à la
dernière cellule utilisée (CTRL+flèche bas) lors de l'enregistrement et
ensuite qu'il descende une cellule plus bas avant de coller...

Il me manque le dernier déplacement, une cellule vers le bas... et les
autres direction tant qu'à y être.

Merci d'avance !

Richard