Menu

Test pour placer le curseur [Résolu]

-
Bonsoir a tous, forum bonsoir,


Sous Windows 10 et Excel 2007

Je souhaiterai svp effectuez un test pour positionner un curseur redessiner.

Voir le fichier en cliquant sur le lien ci dessous.

Ou j'ai mis des explications plus précises dans le fichier.

https://www.cjoint.com/c/HJApKkGMW0z

Merci pour votre aide bon W-end a tous.

Cdlt Raymond
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
Messages postés
7430
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 février 2019
439
1
Merci
bonjour, tu as même pensé à écrire un commentaire qui t'explique pourquoi cela se comporte ainsi:
'Activer la cellule en colonne B sans déclencher l'évènement Worksheet_SelectionChange

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 56433 internautes nous ont dit merci ce mois-ci

Commenter la réponse de yg_be
0
Merci
Salut yg_be,

Cette partie du code ce n'ai pas moi qui l'ai faites, ni commenter.
J'avais demander que après avoir écrit la date en colonne (A) que le curseur se positionne dans la colonne (B) prèt a renseigner la cellule suivante.

Apparament, il y avait une difficulté pour y parvenir mais je n'en sais pas plus, il a juste écrit ce commentaire que je n'ai pas compris d'ailleurs.

Merci pour ton aide, bon w-end a toi.

Cdlt Ray
Commenter la réponse de vieuxray
0
Merci
Salut yg_be,

J'ai fait d'autres essais hier mais je suis revenu a la case départ car ça ne fonctionne pas.
J'ai également regarder a propos de ton message mais je n'ai pas franchement bien compris.
Je vais chercher un autre code pour mettre l'entourage de la bordure de la cellule active en rouge.

Bon dimanche a toi et merci.

Cdlt Ray
yg_be
Messages postés
7430
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 février 2019
439 -
as-tu essayé d'activer la cellule en colonne B en déclenchant l'évènement Worksheet_SelectionChange?
Commenter la réponse de vieuxray
0
Merci
Re yg_be,

Merci pour ta réponse,
J'ai mis en gras la ligne qui fait passer a la colonne (B) mais le curseur rouge ne suit pas.
Le code "du curseur rouge" n'ai peut être pas placer la ou il faut.
J'ai donc penser que d'autres codes du programme pourraient se croiser et donc risque de pertubation.
En tout cas je ni arrive pas.

A plus tard et merci bien.

'SUR CLIC DROIT EN COLONNE (A) INSÈRE/SUPPRIME LA DATE
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, cancel As Boolean)    'Clic droit
    If Target.Columns.Count > 1 Then Exit Sub                               'Aucune action quand selection multicolonne
    dL = Me.Range("B" & Rows.Count).End(xlUp).Row                   'Dernière ligne de la colonne B
   Set r = Intersect(Target, Me.Range("A3:A" & dL + 1))               'Plage à traiter
    If Not r Is Nothing Then                                                           'Aucune action quand selection hors plage
             cancel = True                                                                'Annuler l'affichage du menu contextuel
                          
        For Each c In r.Cells                                                            'Pour chaque cellule de la plage à traiter
Application.EnableEvents = False                                                 'Désactiver les évènements
                Call Module1.Affiche_Date(c)                                       'Afficher la date dans la cellule Macro "MODULE1.AFFICHE_DATE(C)"
                Me.Columns(1).AutoFit                                                'Ajuster la largeur de la colonne
                Target.Cells(1, 1).Offset(0, 1).Activate                         'Activer la cellule en colonne B sans déclencher l'évènement Worksheet_SelectionChange
'Le curseur actif fonctionne bien MAIS le curseur rouge ne suis pas le curseur actif
Application.EnableEvents = True                                                  'Rétablir les évènements
        Next c                                                                                'Cellule suivante
    End If
End Sub
yg_be
Messages postés
7430
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 février 2019
439 -
as-tu essayé en mettant la ligne en gras après la ligne:
Application.EnableEvents = True 'Rétablir les évènements
Commenter la réponse de vieuxray
0
Merci
Merci pour ta réponse

Oui bien sur, mais j'ai mis pleins de code pour essayer d'arriver a ce que je souhaite, du coup, je ne sais plus quoi mettre maintenant.

Je n'ai pas la connaissance du VBA pourtant j'aime bien, j'ai déjà chercher des tutos pas a pas complet mais ça déborde très vite et impossible de suivre pour moi, je n'ai pas de diplôme et la langue me déteste, LOL, juste fréquenter l'école jusqu'à 14 ans, ceci dit l'informatique est ma passion, je sais beaucoup de choses mais l'informatique comme tu le sais est un très vaste domaine qu'il reste très difficile de tous maitriser.
Bon app et bonne après midi.
Cdlt Ray
Commenter la réponse de vieuxray
0
Merci
Salut yg_be,

Bon, je n'arrive toujours pas, si d'après toi il y a une possibilité, tu peux svp m'orienter vers cette solution
pour moi maintenant je vois plus comment faire même après avoir écumer le net.

Sinon tant pis, ça restera comme ça.

Bon app, bon après midi et merci pour ton aide.

Cdlt Ray
yg_be
Messages postés
7430
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 février 2019
439 -
qu'observes-tu en faisant ce que je suggère en #6?
Commenter la réponse de vieuxray
0
Merci
Salut yg_be,

Merci pour ta réponse,

j'ai entrer beaucoup de codes différents pour essayer que le curseur rouge suive le curseur original.

Donc ce qui ce passe est toujours pareil:
Je clic droit dans la dernière cellule vide de la colonne (A)
Puis la date s'affiche et le curseur normal saute en colonne (B)

jusque la c'est ok

Mais le curseur rouge le shape qui colorie la bordure du vrai curseur reste figé en colonne (A)

Donc je renseigne la cellule de la colonne (B) puis je valide avec la touche TAB et le curseur original saute en colonne (C)

Et le curseur rouge aussi ???
idem pour la colonne (D)

Je ne sais pas pourquoi ca ne marche pas avec la conne (B) d'où mon doute avec un code du programme qui serait en conflit, mais je ne sais pas plus.

J'espère avoir été assez précis pour t'aider.
Bonne après midi a plus tard et merci

Cdlt Ray
Commenter la réponse de vieuxray
0
Merci
salut

je répondu a ta question

qu'observes-tu en faisant ce que je suggère en #6?

et je ne vois pas le message de la réponse.

ce message est le 10 ième ??? bizarre j'ai du me gourer

a moins que tu n'ai eu ma réponse ????

dit moi svp
Commenter la réponse de vieuxray
0
Merci
Salut yg_be,

Donc ce que j'observe est toujours pareil. curseur rouge reste figé dans la colonne (A)

Je clic dans la dernière cellule vide de la colonne (A)
la s'affiche puis le curseur actif passe en colonne (B)
MAIS le curseur rouge "shape" qui colorie la bordure du cureur actif reste bloquer en colonne (A)

donc je renseigne la cellule de la colonne (B) et je valide par la touche TAB ce qui fait passer le curseur actif en colonne (D)

et la miracle le curseur rouge suit bien

D'où le doute du moins je pense qu'il doit avoir un code du programme qui rentre en conflit avec la colonne (A) ou (B)

A partir de je ne sais plus

Je te renvoie la réponse que tu attends sans doute.

Merci pour ton aide bonne après midi

Ray
yg_be
Messages postés
7430
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 février 2019
439 -
j'attends que tu fasses ce que j'ai suggéré en #6: peux-tu partager ton code modifié en fonction de cette suggestion?
Commenter la réponse de vieuxray
0
Merci
Bonsoir, yg_be,

J'avais mal interprèter ta question,

J'avais penser que tu voulais que je mette du code que j'avais mis lors de mes essais.

as-tu essayé en mettant la ligne en gras après la ligne:
Application.EnableEvents = True 'Rétablir les évènements

      
For Each c In r.Cells 'Pour chaque cellule de la plage à traiter
Application.EnableEvents = False 'Désactiver les évènements
Call Module1.Affiche_Date(c) 'Afficher la date dans la cellule Macro "MODULE1.AFFICHE_DATE(C)"
Me.Columns(1).AutoFit 'Ajuster la largeur de la colonne
Application.EnableEvents = True 'Rétablir les évènements
Target.Cells(1, 1).Offset(0, 1).Activate 'Activer la cellule en colonne B sans déclencher l'évènement Worksheet_SelectionChange

Next c 'Cellule suivante


Hé bien t'es trop fort, merci beaucoup, j'aurai pas penser a faire , vu que le code était entre désactiver et activer les évènements, je me suis dit si c'est coder comme ca c'est qu'il y a une raison.

Mais alors pourquoi avoir mis " Target.Cells(1, 1).Offset(0, 1).Activate " après avoir rétabli les évènements ?????

Bon, enfin, ca fonctionne c'est la l'essentiel, dire que j'en ai fait des essais, LOL j'ai appris au passage.

Encore merci a toi bonne soirée et merci.

A bientôt sans aucun doute LOL

Bien cordialement Raymond
yg_be
Messages postés
7430
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 février 2019
439 -
il y avait sans doute une raison, elle n'est peut-être plus valable. à toi de tester.
Commenter la réponse de vieuxray
0
Merci
Salut yg_be,

Bien des mercis, j'ai tout tester aucun soucis ca fonctionne
parfaitement bien.

Je clos le sujet, bonne journée et encore merci a toi.

Cordialement Raymond
Commenter la réponse de vieuxray