Macro positionnement de curseur

Fermé
SanPelegrino Messages postés 19 Date d'inscription vendredi 10 juin 2016 Statut Membre Dernière intervention 27 octobre 2023 - 31 mars 2017 à 17:05
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 1 avril 2017 à 10:36
Bonjour

J'ai monté un fichier de saisie de données pour notre groupe. Ce fichier comporte 80 lignes et plusieurs colonnes de saisie de données. Si ces 80 lignes ne sont pas suffisantes, j'ai programmé une macro qui en ajoute 80 autres.

Jusque là tout fonctionne bien.

Avant d'activer la macro, l'utilisateur doit positionner son curseur à la cellule A81 (après le premier bloc) afin que les lignes et colonnes s'insèrent correctement sous le premier bloc. Si un 3e bloc de lignes et colonnes est requis, l'utilisateur doit positionner son curseur à la cellule A161 et activer la macro, etc ...

Jusque là, tout fonctionne bien.

Le problème est le suivant : si par malheur l'utilisateur a activé la macro alors que son curseur était dans la cellule C81 (au lieu de A81), le bloc de lignes et colonnes s'insèrera à partir de cette cellule. Méchante gaffe car il est impossible de faire un UNDO.

J'aimerais modifier ma macro de sorte à ce qu'elle s'exécute toujours dans la colonne A à la ligne suivant la dernière ligne du bloc. La saisie des données pourrait débuter à partir de la colonne B et la cellule A de chaque ligne pourrait comporter un caractère quelconque sur lequel la macro ferait une recherche avant de s'arrêter sur une cellule vide pour exécuter l'ajout d'un bloc de lignes et colonnes.

Des idées ?

Merci
SanPelegrino
A voir également:

2 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
Modifié le 31 mars 2017 à 17:29
bonjour, veux-tu dire que la macro doit rechercher la première cellule vide en colonne A, en descendant à partir de la cellule sélectionnée par l'utilisateur?
faut-il ensuite positionner le curseur dans la cellule trouvée?
1
SanPelegrino Messages postés 19 Date d'inscription vendredi 10 juin 2016 Statut Membre Dernière intervention 27 octobre 2023
31 mars 2017 à 17:41
Salut

Supposons que chacune des 80 lignes d'un bloc possède, dans la colonne A, un caractère quelconque (exemple un point *.*) et que la saisie de mes données débute à la colonne B (B1, B2, B3, .. B80). Donc les cellules A1, A2, A3 ... A80 comporteraient un point (*.*).

Il faudrait que la macro débute à la cellule A1 et recherche la première cellule vide (sans point *.*) en descendant dans la colonne A. Pour un bloc de 80 lignes, la première cellule "vide" devrait être la cellule A81 à partir de laquelle la macro exécuterait l'ajout d'un bloc de 80 lignes et colonnes.

Pour ton info, ma macro fait en sorte d'ouvrir un onglet caché, de copier le bloc de 80 lignes, de fermer l'onglet et de copier ce bloc de 80 lignes là où le curseur est positionné. Cette macro fonctionne très bien sauf qu'il faudrait positionner le curseur à la bonne place avant d'effectuer le "copier". Le bloc à copier comprendrait un point (*.*) dans les cellules A1, A2, A3, ... A80.

Merci
San Pelegrino
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
1 avril 2017 à 10:36
bonsour, je suggère ceci:
ActiveSheet.Cells(1, 1).End(xlDown).Offset(1).Select
0