re tout le monde
euh....merci messieurs, mais je ne crois pas mériter ces louanges (sans fausse modestie).Je ne fais que mettre mes pas dans les traces de ceux qui me précedent, merci à eux.
Ya'v il serait quand meme bien que tu comprennes le code, pour faire ton barbatruc, en plus tu va voir c'est tout c.n
dans la procédure Workbook_Open du thisworkbook
tu va trouver ceci :
Application.OnKey '{RIGHT}', 'adroite'
ce code intercepte l'appui sur la touche droite, ahinile l'action de cette touche et renvoi à la macro 'adroite'. avec josé on c'etait déjà amusé avec ces onkey (josé avait fait un barbatruc sympa)
dans le module1, tu retrouves la macro adroite :
Public Sub adroite()
If ExecuteExcel4Macro('GET.CELL(10)') = 0 Then
ActiveCell.Offset(0, 1).Select
End If
End Sub
Pour savoir si la cellule active à une bordure à droite, je me suis souvenu d'un post de l'excellent jean marie (merci) sur LIRE.CELLULE (a rechercher pour lire sans modération), dans ce post JM nous présentait cette ancienne fonction d'excel 4 et à l'interieur il parlait justement de la détection de bordure.
pour lancer une fonction excel 4, on utilise executeexcel4macro, et quand tu tapes ceci dans l'aide, ben tu tombes pile sur un code exemple avec LIRE.CELLULE (GET.CELL). Elle est pas belle la vie.
en somme le code fait tout simplement ceci :
si la cellule active n'a pas de bordure à droite (10), alors déplace la cellule d'une colonne à droite. (n'oublie pas que l'on avait stopper l'appui sur la touche droite)
les codes dans la macro BeforeClose (thisworkbook)
Application.OnKey '{RIGHT}'
Ne sont là que pour rendre aux touches leurs destinations habituelles.
Voilà en espérant ne pas avoir été trop long.
salut
EDITION : ya'v, ne répond pas à ce fil, sinon tu va encore bruler une cartouche
Message édité par: Hervé, à: 24/11/2005 00:02