OVH Cloud OVH Cloud

XL c'est pas comme le vélo...(long)

1 réponse
Avatar
whynot
Bjr,



...ça s'oublie quand même un peu. Suite à un accident, je reprends la
rééducation de mes quelques neurones (pas nombreux mais encore assez
vaillants!), et c'est là que j'ai besoin d'un peu de vos conseils et d'une
piqûre de rappel.



La trame de mon travail : réaliser un calculateur de moyenne pour le suivi
des études de mon fils. Simple ? En apparence, oui. Mais il faut tenir
compte que toutes les notes ne sont pas connues en même temps, et qu'il faut
donc calculer la moyenne par matière, et la moyenne générale, en fonction
des seules épreuves réalisée. Tout ça est assez simple, même si chaque
épreuve à des coefficient différents selon la matière, et que chaque matière
à un coefficient spécifique. J'ai donc créé une base de données, et avec
quelques TDC, et autres comptages, je m'en sors pas mal (dans le
fonctionnement du moins), reste quelques questions :



Comment définir une plage de données, selon le nombre de valeurs
contenues dans une colonne qui est variable (veux éviter de dire que ma base
de données "notes obtenues" = feuillenotes!$A$1:$H$65534) ?



Dans un graphique (celui de l'évolution de la moyenne mensuelle),
comment fixer l'ordre d'une série ? En l'occurrence, comme le suivi est
mensuel, je voudrais toujours commencer par septembre.et que le mois de
janvier soit placé après décembre (et non pas janvier en premier)? Précision
: le graphique est issu d'un TDC, qui ne me propose sur le champ "mois" que
le tri sur ordre, croissant ou décroissant.



J'ai un bouton auquel est affecté une macro (réalisée avec
l'enregistreur), qui après la saisie d'une note effectue la mise à jour des
différentes feuilles. Comment n'autoriser l'utilisation de ce bouton de
commande, que lorsque toutes les conditions sont remplies (tous les
paramètres de la note doivent avoir été saisi - matière, date, type
d'épreuve.)



Comment rendre une macro sans effet visuel de son exécution à
l'écran (le passage d'une feuille à l'autre par exemple)



Comment rendre une macro exécutable automatiquement à l'ouverture
du classeur



Un petit rappel sur la façon de résoudre un système d'équations du
premier degré à plusieurs inconnues avec les matrices (du style 3x+5y=12 et
x-y=1)



Enfin, comme je travaille aussi sur MAC, qq'un peut-il me dire
quel est le raccourci clavier pour fixer une référence absolue à une cellule
(l'équivalent du F4 sur PC)



GRAND MERCI à tous

1 réponse

Avatar
michdenis
Bonjour whynot,

Voici quelques-unes des réponses .... Préférable si tu poses 1 question par fil de discussion


Comment définir une plage de données, selon le nombre de valeurs
contenues dans une colonne qui est variable (veux éviter de dire que ma base
de données "notes obtenues" = feuillenotes!$A$1:$H$65534) ?
************
Dans le module feuille où l'action se déroule, copie ce qui suit :
Ta plage de données va se mettre à jour à chaque nouvelle entrée.
Ta plage de données sera une plage nommée : "Données"
'-------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column <= 8 Then
A = Range("A:H").Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Range("A1:H" & A).Name = "Données"
End If
End Sub
'-------------------------


J'ai un bouton auquel est affecté une macro (réalisée avec
l'enregistreur), qui après la saisie d'une note effectue la mise à jour des
différentes feuilles. Comment n'autoriser l'utilisation de ce bouton de
commande, que lorsque toutes les conditions sont remplies (tous les
paramètres de la note doivent avoir été saisi - matière, date, type
d'épreuve.)

***Selon tes besoins, en début de Macro (procédure) tu testes si chacune des cellules qui doivent contenir une information
spécifique sont effectivement renseignées avec un type de données désirées. Ceci se fait à l'aide d'une suite de "If Then"
Exemple pour un champ date
'------------------------------
If isdate(Range("A1")) then
'..../....
Else
Msgbox "L'information est erronnée.
exit sub
End if
'------------------------------
Cependant pour élaborer les tests, tu dois préciser ta question .....Il est préférable de poser qu'une question par fil et de
prendre le temps de la définir quitte à ce que tu publies ta macro que tu as déjà faite.




Comment rendre une macro sans effet visuel de son exécution à
l'écran (le passage d'une feuille à l'autre par exemple)
****** Application.ScreenUpdating = False



Comment rendre une macro exécutable automatiquement à l'ouverture
du classeur
******* Dans le thisWorkbook de ton classeur, tu utilises ceci :
'-------------------
Private Sub Workbook_Open()
'Ton code
End Sub
'-------------------



GRAND MERCI à tous