IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Positionner curseur sur une cellule sélectée Windows Excel VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Avatar de clubleo
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mars 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Mars 2016
    Messages : 63
    Billets dans le blog
    1
    Par défaut Positionner curseur sur une cellule sélectée Windows Excel VBA
    Bonjour,
    Avec Windows, sur une feuille Excel avec programmation VBA
    Lors du déroulement d’une macro, je lance:

    Activesheet.cells(x,y).Select

    A sa suite, je voudrais simplement positionner la flèche de la souris au milieu de cette cellule sélectée.
    Cela quelque soit la taille de la feuille affichée et son positionnement sur l'écran..

    (Par ex. Pour ensuite avoir la possibilité d' une modification de valeurs dans cette cellule par le clavier ou un déclenchement par BeforeRightClick).

    Par avance, merci pour une idée simple.
      0  0

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Ce que tu demandes :
    - a très peu à voir avec Excel (la présente section du forum) et nécessite l'utilisation de VBA/Excel
    - a également peu à voir avec VBA et concerne beaucoup plus l'utilisation de fonctions de l'API de Windows. VBA ne serait là que pour les invoquer et les utiliser

    Tu sembles par ailleurs confondre Curseur et Caret(****). Ce sont deux choses très distinctes.

    Peux-tu nous expliquer ce que tu penses pouvoir faire ainsi et quel en est le réel intérêt ?

    EDIT : il te faut comprendre une chose essentielle, avant d'aller plus loin, voire de répondre à ma question.
    Une cellule de Excel n'est pas la zone d'édition de la valeur qui sera enregistrée dans le tableur pour correspondre à cette "cellule". La vraie zone d'édition est ailleurs (tu peux la voir dans la barre des formules). Ce que tu penses saisir dans une "case" est en réalité saisi dans la vraie zone d'édition que tu vois dans la barre de formules. Tout le reste n'est que "mirage" (un jeu de "miroirs" entre une zone de saisie et une zone d'affic
    hage à l'écran).
    Il n'est par contre pas impossible qu'une solution te soit proposée en fonction de la réponse très claire que tu auras donnée à la question que j'ai soulignée (le but très précis de cette manoeuvre).

    **** désolé d'avoir utilisé un mot anglais -->>http://traduction.babylon-software.c...rancais/caret/
    ce que tu cherches à faire est positionner le point d'insertion dans une zone d'édition.
      0  1

  3. #3
    Membre averti
    Avatar de clubleo
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mars 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Mars 2016
    Messages : 63
    Billets dans le blog
    1
    Par défaut Positionner curseur sur une cellule sélectée Windows Excel VBA Ajout d'un exemple simplifié
    Merci pour la rapide prise en compte de mon problème

    Ci joint un exemple de test pour essayer de mieux faire comprendre cette routine de déplacement du curseur
    Fichiers attachés Fichiers attachés
      0  0

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Ci joint un exemple de test pour essayer de mieux faire comprendre cette routine de déplacement du curseur
    Désolé, mais je n'ouvre (et n'ouvrirai) jamais un classeur tiers (c'est ma "religion" qui me l'interdit).
    Je ne vois par contre pas ce qui t'empêcherait d'exposer clairement et techniquement, comme je te l'ai demandé, les tenants et aboutissants. C'est sur ces bases-là, que je "fonctionne".
      0  1

  5. #5
    Membre averti
    Avatar de clubleo
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mars 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Mars 2016
    Messages : 63
    Billets dans le blog
    1
    Par défaut Positionner curseur sur une cellule sélectée Windows Excel VBA suite
    Dommage pour mon exemple mais je comprends parfaitement les risques.

    [A] En fait c’est très simple sous Excel avec VBA les cdes :
    « activecell.left » donne la position de la cellule sélectée en pixels mais par rapport au haut de la feuille
    & « activecell.top » donne la position de la cellule sélectée en pixels mais par rapport au coin gauche de la feuille.

    Que la cellule soit visible ou non les instructions :
    cells(1,1).top =0 pixels par rapport au bord supérieur de la feuille affichée
    & cells(1,1).left =0 pixels par rapport au bord gauche de la feuille affichée

    cells(2,2).top =50 pixels par rapport au bord supérieur de la feuille affichée
    & cells(2,2).left =50 pixels par rapport au bord gauche de la feuille affichée

    [B]
    Avec l ‘api suivante:
    Private Declare Function SetCursorPos Lib "user32" (ByVal X As Integer, ByVal Y As Integer) As Long
    On place le curseur sur la feuille aux coordonnées X & Y en pixels mais par rapport aux bords gauche et haut
    de l ‘écran dans les limites par exemple 1-1920 et 1-1080

    [C] Le pb est donc de trouver le lien relatif entre la position en pixels de la cells(1,1) sur l’écran afin de positionner le curseur sur n’importe quelle autre cellule sélectable.

    Merci pour la suite
      0  0

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Désolé, mais :
    - tu continues de me parler de curseur alors que ton tout premier message parle de la position du caret (au sein d'une cellule)
    - tu n'as toujours pas exposé le pourquoi de cette étrange manoeuvre
    J'attends ces explications-là .
      1  1

Discussions similaires

  1. se positionner sur une cellule
    Par titemireille dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/01/2008, 19h07
  2. cliquer sur une cellule qui m'ouvre un autre fichier excel
    Par booskap dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 17/08/2007, 11h08
  3. [VBA-Excel] DblClick sur une cellule
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/01/2007, 10h51
  4. [VBA-Excel]Supprimer une colonne entiere basee sur une cellule
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2006, 22h08
  5. [Vba-Excel] Récupérer événement sur une cellule
    Par steps5ive dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/04/2006, 20h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo