Rapport de message :*
 

Re: Cherche à mettre un coef sous la note.

Titre du sujet : Re: Cherche à mettre un coef sous la note.
par myDearFriend! le 03/01/2008 16:11:03

Re PowerPlus, bonjour JCGL,

Effectivement, la remarque de JCGL est judicieuse, il vaut mieux poster des fichiers compatibles avec les différentes versions Excel pour échanger avec tous.

Tu trouveras ci-joint ton exemple modifié par mes soins (selon ma façon de voir les choses).

Quelques remarques :
[list]
[*]
Private Sub Workbook_Open()
    
Application.OnKey "{TAB}""usf"
End Sub
L'utilisation de la touche TAB pour ouvrir l'USF, pourquoi pas. Mais il ne faut surtout pas oublier de rétablir le OnKey "{TAB}" par défaut à la fermeture de ton classeur pour que les utilisateurs puissent retrouver leur configuration d'origine après.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    
Application.OnKey "{TAB}"
End Sub
Tout ce qui est modifié dans l'application Excel (configuration, paramètres...) doit toujours être rétabli quand on ferme ton classeur.

[*]Toutes les variables utilisées (a, c, e...) doivent être déclarées dans VBA si tu veux pouvoir maitriser ton code.
J'ai mis "Option Explicit" en tête de chacun de tes modules afin d'empêcher l'utilisation de variable non déclarée.
A l'avenir, pour obtenir automatiquement "Option Explicit" dans tes nouveaux modules, tu peux faire :
- Dans l'éditeur VBE, menu Outils / Options
- onglet Editeur
- tu coches "Déclaration des variables obligatoires"

[*]Pour plus de clarté, j'ai changé le nom des contrôles utilisés dans le Userform, je te conseille de faire comme ça, c'est beaucoup plus facile à manipuler dans le code après, notamment si tu dois y replonger dans quelques mois pour améliorer ton projet.

[*]J'ai aussi supprimé les procédures qui n'avaient aucun rapport direct avec ce projet.

[*]Pour faire référence à la cellule juste en dessous de la sélection en cours, tu peux utiliser cette méthode :
Selection.Offset(10).Value c
La propriété Offset(NbreLignes, NbreColonnes) te renvoie une cellule décalée par rapport à la cellule de référence. NbreLignes et NbreColonnes peuvent être positif ou négatif selon que tu souhaites aller vers la droite et en bas (pour le positif) ou vers la gauche et en haut (pour le négatif).

[*]Je pense que l'exemple joint doit être fonctionnel, il ne te reste plus qu'à gérer les erreurs qui seront causées par différentes manipulations utilisateur (cas où l'utilisateur ne saisie rien mais valide quand même par OK par exemple)...
[/list]

Cordialement,

EDITION : Arf, ça va toujours trop vite dans les forums... Sachant qu'on se trouve ici dans le forum Espace Débutants, je pense qu'il convient de faire de la façon la plus simple et académique possible sans pour autant chercher à remettre en cause les choix du demandeur...(point de vue tout à fait personnel bien sûr). Mais ça demande du temps...

EDITION n° 2 : Dans le présent post, j'avais dit une ânerie ( désolé ) :
Pour rétablir le fonctionnement normal de la touche TAB dans la feuille de calcul, il convient bien de faire :
Application.OnKey "{TAB}"
( et non Application.OnKey "{TAB}", ""
)