Positionnement du curseur dans une feuille excel
Résolu/Fermé
Bonjour,
Je suis sur un projet depuis quelques temps et je cherche à savoir comment positionner le curseur sur une cellule précise.
Je m'explique:
Je dois insérer des numéros dans une plage, entre-temps, je dois faire fonctionner une macro et j'aimerais que, quand j'aie fini d'utiliser ma macro, le curseur se place automatiquement sur la cellule dont j'étais avant d'utiliser ma macro.
Est-ce que quelqu'un pourrait m'aider ?
le seul problème, c'est que ce n'est pas toujours
Je suis sur un projet depuis quelques temps et je cherche à savoir comment positionner le curseur sur une cellule précise.
Je m'explique:
Je dois insérer des numéros dans une plage, entre-temps, je dois faire fonctionner une macro et j'aimerais que, quand j'aie fini d'utiliser ma macro, le curseur se place automatiquement sur la cellule dont j'étais avant d'utiliser ma macro.
Est-ce que quelqu'un pourrait m'aider ?
le seul problème, c'est que ce n'est pas toujours
A voir également:
- Excel curseur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
- Aller à la ligne excel - Guide
7 réponses
Utilisateur anonyme
15 sept. 2016 à 21:58
15 sept. 2016 à 21:58
Bonsoir sebyyy,
Regarde ce code VBA :
Tu peux aussi utiliser cette méthode :
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
Regarde ce code VBA :
Option Explicit Sub Essai() Dim cellX As Range ' 1) avant de faire le travail de la macro : Set CellX = ActiveCell ' 2) travail de la macro Essai = ce que tu veux faire : ' insertion de numéros dans une plage (ou autre) ' 3) aller sur la cellule de départ (avant le travail) CellX.Select End Sub
Tu peux aussi utiliser cette méthode :
Option Explicit Sub Essai() Dim lig As Long, col As Integer ' 1) avant de faire le travail de la macro : lig = ActiveCell.Row: col = ActiveCell.Column ' 2) travail de la macro Essai = ce que tu veux faire : ' insertion de numéros dans une plage (ou autre) ' 3) aller sur la cellule de départ (avant le travail) Cells(lig, col).Select End Sub
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
Merci Alkan pour ta réponse ultra rapide mais ça m'indique un message d'erreur et la fenêtre des VBA s'ouvre à chaque fois...
Dois-je faire une modification dans les VBA ?
;-)
Dois-je faire une modification dans les VBA ?
;-)
Mon code VBA doit être placé dans un module, par exemple dans Module1.
Et pas les 2 en même temps : soit le premier code VBA, soit le second !
Quel est ton message d'erreur ? Quand tu cliques sur le bouton « Débogage »,
quelle est la ligne de ton code VBA qui est mise en jaune (s'il y en a une) ?
Peux-tu mettre dans ton prochain post la Sub de ton code VBA qui pose
problème (par simple copier / coller) ? À te lire. 😊
Salut Sebyyy, peut-être que tu verras mieux avec mon fichier Excel 2007 ? 😉
Quand tu ouvriras le fichier Excel, tu peux faire < Ctrl >< a > qui lance
la macro Essai1() ou < Ctrl >< b > qui lance la macro Essai2(). Cela fera
exactement la même chose, mais le code VBA est différent : à toi de
lire tout ce qui est dans Module1 (il y a beaucoup de commentaires).
Si c'est ok, n'oublies pas de passer le sujet en résolu ; sinon, envoies-
moi ton fichier Excel via cjoint.com ou mon-partage.fr 😊
Bonsoir sebyyy,
Tu as écris : « j'arrive pas même avec de multiples essais... :-( » ;
mais avec quel fichier Excel ? Le tien, ou celui dont j'ai mis le lien
dans mon message #6 ?
Si c'est dans le mien, que j'ai testé et qui fonctionne correctement,
alors ça vient juste d'une manipulation que tu devrais faire.
Si c'est dans le tien, le mieux est que tu m'envoies ton fichier :
va sur le site mon-partage.fr ; il faut ouvrir le fichier, puis
cliquer sur le bouton « Uploader » ; attends un peu : tu verras
alors au-dessus un lien à copier / coller dans ton prochain
post sur le forum.
Si jamais tu n'y arrives pas, fais un autre essai avec le site
cjoint.com ; tu devras entrer ton adresse mail, qui restera
confidentielle. Il y aura aussi un lien à copier / coller.
À te lire. 😊
crapoulou
Messages postés
28164
Date d'inscription
mercredi 28 novembre 2007
Statut
Modérateur, Contributeur sécurité
Dernière intervention
1 mars 2025
8 001
20 sept. 2016 à 23:20
20 sept. 2016 à 23:20
Bonjour,
Pour joindre un fichier, utilises le site cjoint.
Tu trouveras un tutoriel complet qui t'aidera à faire cela.
https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
Merci.
Pour joindre un fichier, utilises le site cjoint.
Tu trouveras un tutoriel complet qui t'aidera à faire cela.
https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
Merci.
albkan,
Voici le lien :
https://mon-partage.fr/f/z6pmtPCy/
Merci encore pour ton aide précieuse ^^
Voici le lien :
https://mon-partage.fr/f/z6pmtPCy/
Merci encore pour ton aide précieuse ^^
Bonjour sebyyy,
Si tu as téléchargé puis essayé le fichier Excel 2007 de mon message #6, tu as
pu voir que c'est une très bonne démo de ce que tu avais demandé au début.
Dis-moi si cette démo t'a aidé à mieux comprendre le fonctionnement de
sauvegarde / récupération de la position de la cellule active ?
----------------------------------------------------------
Toute la suite est pour le fichier que tu m'as transmis (ce dont je te remercie).
=================================
1) Tu n'as pas oublié, n'est-ce-pas, que tu as 3 feuilles cachées ? 😉
----------------------------------------------------------
2) Normal que tu n'aies pas réussi à faire fonctionner mon code VBA : tu l'as mis
dans ThisWorkbook au lieu de le mettre dans un module ! Donc sélectionne-le
entièrement et fais un couper / coller de ThisWorkbook (qui sera alors vide)
dans Module3 (qui est actuellement vide). Mais en lisant les commentaires,
tu comprendras que pour voir que ça fonctionne, il faut ajouter un travail de
ton choix à l'étape 2) du code VBA qui va sur une cellule autre que la cellule
active. Si tu fais tout cela correctement, tu auras alors le même type de
fonctionnement que celui de ma démo (celle dont j'ai parlé au début de
ce message, donc le fichier Excel 2007 que je t'ai transmis).
----------------------------------------------------------
3) Suite au couper / coller précédent, Module3 qui était vide ne l'est plus.
Module5 est vide ; Module4 contient une seule ligne : Option Explicit
(donc inutile puisqu'il n'y a aucune sub ou fonction) => comme s'il était
vide aussi, donc tu peux supprimer les deux modules 4 et 5.
----------------------------------------------------------
4) Ce que tu as demandé ensuite dans ta bulle de texte n'est pas très clair !
La colonne où tu insères des numéros, est-ce bien de B22 à B111 ?
Ensuite, est-ce que ça doit continuer de G22 à G111 ?
Toujours pour ce que tu as demandé, peux-tu me confirmer que :
a) Seule la 1ère feuille "LOTOVérif" est concernée, ou faut-il voir d'autres
feuilles (éventuellement cachées) ?
b) Seule la macro QUINE1 du Module6 est concernée ou dois-je voir une
autre partie de ton code VBA (si oui, laquelle ?)
----------------------------------------------------------
5) Donc pour l'instant, je comprends ceci : pour ta nouvelle demande, je dois voir
seulement la 1ère feuille "LOTOVérif" et la macro QUINE1() du Module6 ; puis :
À chaque fois que tu utiliseras ta macro QUINE1() du Module6, ta cellule active
qui était au départ B22 doit descendre d'une cellule jusqu'en B111 ; et ensuite,
soit ça s'arrête en B111, soit ça doit continuer en G22 pour descendre d'une
cellule jusqu'en G111.
À toi de me le confirmer, ou de mieux préciser ce que tu veux ! Car dis-toi bien
qu'un énoncé d'exercice bien exposé est déjà 50 % de la solution. 😉
=================================
À te lire. Cordialement. 😊
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salut albkan,
encore merci pour ces infos. Alors, j'aimerais que la cellule active soit toujours entre les cellules B22 et B111. Les cellules G22 à G111 sont uniquement prévues pour autre chose... (sortir les 90 numéros).
Merci ;-)
encore merci pour ces infos. Alors, j'aimerais que la cellule active soit toujours entre les cellules B22 et B111. Les cellules G22 à G111 sont uniquement prévues pour autre chose... (sortir les 90 numéros).
Merci ;-)
Albkan,
je te joint à nouveau le fichier avec des macros supplémentaires. Tu auras une petite bulle avec ce que j'aimerais plus précisément. J'espère que tu pourrais m'aider pour cette finalisation de mon programme.
Et, les onglets cachés, on s'en occupe pas... c'est des données pour que mon projet fonctionne.
Encore merci ;-)
https://mon-partage.fr/f/DnnqgnpD/
je te joint à nouveau le fichier avec des macros supplémentaires. Tu auras une petite bulle avec ce que j'aimerais plus précisément. J'espère que tu pourrais m'aider pour cette finalisation de mon programme.
Et, les onglets cachés, on s'en occupe pas... c'est des données pour que mon projet fonctionne.
Encore merci ;-)
https://mon-partage.fr/f/DnnqgnpD/
Bonjour sebyyy,
Ton nouveau Fichier Excel 2007 est prêt !
-------------------------------------------------------
1) Utilisation
Quand tu entres un n° dans une des cases B22 à B111, fais < Entrée >
pour rester sur la même case ; ou < ↓ > pour descendre sur la case
suivante.
-------------------------------------------------------
2) Côté VBA
Tu verras que j'ai pu faire plein de simplifications ; pour les modules,
il n'y en a plus que 2, et tout est dans Module1 et Module2.
-------------------------------------------------------
Dis-moi ce que tu en penses, et si ça te convient.
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
Salut albkan,
Déjà un très grand merci pour ton aide qui avance mon projet à merveille! ^^
Seulement, j'ai encore quelques petites choses... c'est en faisant un test qu'on remarque qu'il y a des choses qui fonctionnent pas à la perfection... :-/
1) j'aimerais aussi que, quand j'utilise la macro "findes90" le curseur se mette à la suite des numéros que je viens d'inséré. Donc, si j'ai inséré par exemple 42 numéros dans les cellules de B22 à B111, ma macro va annuler les numéros des cellules G22 à G111 et j'aimerais que le curseur se mette à la suite des numéros inséré dans les cellules de B22 à B111.
2) il y a une case jaune à côté du carré "LOTOVérif" rouge. Si je fais un contrôle d'une carte manuelle (qui ne serait pas valable), le curseur ne se met pas automatiquement en place dans les cellule de B22 à B111 Est-ce aussi possible ? par exemple, durant le jeu, une personne s'annonce je contrôle manuellement la carte en tapant le numéro dans cette case jaune, suivi de la touche "ENTER". Mais la case active reste celle qui est juste en dessous.
3) c'est du luxe si tu sais me faire ça, j'aimerais que les lignes de 21 à 100... (jusqu'en bas de page se masque. J'ai essayé mais quand j'insère mes numéros, la case active B22 ne se change jamais. (ça, seulement si c'est possible).
Je sais que je suis pénible mais je te promets qu'après ça, je te laisse en paix. Normalement si ça fonctionne, mon projet sera terminé et je pourrai l'utiliser prochainement.
Encore je te remercie pour ton aide qui m'est très précieuse.
Amicalement
Déjà un très grand merci pour ton aide qui avance mon projet à merveille! ^^
Seulement, j'ai encore quelques petites choses... c'est en faisant un test qu'on remarque qu'il y a des choses qui fonctionnent pas à la perfection... :-/
1) j'aimerais aussi que, quand j'utilise la macro "findes90" le curseur se mette à la suite des numéros que je viens d'inséré. Donc, si j'ai inséré par exemple 42 numéros dans les cellules de B22 à B111, ma macro va annuler les numéros des cellules G22 à G111 et j'aimerais que le curseur se mette à la suite des numéros inséré dans les cellules de B22 à B111.
2) il y a une case jaune à côté du carré "LOTOVérif" rouge. Si je fais un contrôle d'une carte manuelle (qui ne serait pas valable), le curseur ne se met pas automatiquement en place dans les cellule de B22 à B111 Est-ce aussi possible ? par exemple, durant le jeu, une personne s'annonce je contrôle manuellement la carte en tapant le numéro dans cette case jaune, suivi de la touche "ENTER". Mais la case active reste celle qui est juste en dessous.
3) c'est du luxe si tu sais me faire ça, j'aimerais que les lignes de 21 à 100... (jusqu'en bas de page se masque. J'ai essayé mais quand j'insère mes numéros, la case active B22 ne se change jamais. (ça, seulement si c'est possible).
Je sais que je suis pénible mais je te promets qu'après ça, je te laisse en paix. Normalement si ça fonctionne, mon projet sera terminé et je pourrai l'utiliser prochainement.
Encore je te remercie pour ton aide qui m'est très précieuse.
Amicalement
Bonsoir sebyyy,
D'après ce que tu as écrit dans ton point 2), je te conseille de faire ceci :
bouton Office (= Fichier), « Options Excel » ; côté gauche : « Options avancées » ;
à droite, 1ère rubrique « Options d'édition », décoche la case suivante :
☐ Déplacer la sélection après validation
C'est beaucoup plus pratique : ça fait qu'après avoir validé une cellule avec
la touche < Entrée >, la sélection reste sur cette même cellule, ce qui permet
de faire autre chose dessus : mise en forme tel que en gras, choix d'un autre
format de cellule, etc. Et si tu avais besoin d'aller sur la cellule en dessous,
il suffit d'utiliser < ↓ > au lieu de < Entrée >
--------------------------------------------------
Pour faire ton point 2), j'ai modifié le code VBA de Feuil1 (LOTOVérif).
Pour le reste, j'ai ensuite modifié le code VBA de Module1.
Le code VBA de Module2 est le même que le précédent.
--------------------------------------------------
Je n'ai pas bien compris ton point 3), mais peut-être que ce sera déjà fait
par les nouvelles modifications que j'ai faites. Si oui, tant mieux : réglé !
Sinon :
Pour les lignes 21 à 100, es-tu sûr de vouloir les masquer (= cacher) ?
Si oui : Rows("21:100").Hidden = True
Mais suite à quoi veux-tu donc le faire ? Juste en y pensant, par télépathie ?
Par l'opération du Saint-Esprit Excel ? Non, non, je plaisante, bien sûr ! 😉
Mais tu comprends que tu dois donner plus de précisions.
De plus, quand ces lignes seront masquées, tu voudras sans doute les ré-afficher.
Si oui : Rows("21:100").Hidden = False
Mais là encore, il faudra dire suite à quoi ! 😉
Je suis tout disposé à faire ton point 3) dès que tu m'auras donné toutes
les précisions utiles (si non déjà fait par mes dernières modifs, car je ne
suis pas sûr que tu veuilles vraiment cacher les lignes 21 à 100, mais
seulement changer la position de la cellule active).
--------------------------------------------------
Voici ton nouveau Fichier Excel 2007.
--------------------------------------------------
Amicalement, albkan 😊