il y a plusieurs sujets... je vais essayer de te donner quelques éléments
1) il vaut toujours mieux (ou très souvent) utiliser des tables structurées
ce que tu as fait sur la feuille "Inscriptions"
ainsi, les formules, mises en formes sont automatiquement recopiées dès qu'une nouvelle ligne de données est inscrite
En règle générale, il vaut mieux ne PAS mettre de lignes vides dans une telle table
les noms de colonnes (entetes) sont UNIQUES: tu ne peux pas avoir deux colonnes avec le meme nom
tu peux traiter JUSTE les données plutot que faire du A2:A7000 .copy par exemple
une table structurée, en VBA = listobjecs()
ce qui est pratique, c'est que si tu veux mettre une donnée à la 20eme colonne (qui s'appelle TrucMuche)
tu peux utiliser la syntaxe
listbobjects("NomTable").databodyrange(ligne,20) ==> mais si tu déplaces la colonne.. bah il faut modifier le 20 dans le code
ou
Listobjects("NomTable").listcolumns(20).databodyrange(ligne) ==> meme punition
MAIS
Listobjects("NomTable").listcolumns("TrucMuche").databodyrange(ligne) ==> ici, le fait d'utiliser le nom de la colonne cible.. bah. tu te fous de savoir ou elle est dans la table.... donc. si elle bouge.. pas besoin de modifier le code
bon. il faut quand meme s'assurer que le Nome de la colonne cible est écrit EXACTEMENT comme dans la table (un espace peut faire toute la différence)
ensuite.. évidemment, si tu changes le nom de la colonne (TrucMuche), il faut aussi le modifier dans le code
y a quand meme un minimum..
et donc.. si le control s'appelle comme le nom de la colonne, une boucle sur tous les controls du formulaire permettrait de remplir les colonnes assez facilement
la propriété tag des controles resterait donc dispo pour les checks de saisie par exemple
dans ton cas. ce serait quand meme un peu plus compliqué puisqu'il y a 4 enfants et que leurs controls associés utilisent les memes colonnes.. il y aurait "une extraction du nom de la colonne a faire"
meme chose que le split (tag) proposé par Patrick
si tu veux un peu de lecture sur les tables strucuturées:
For a data analyst, Excel Tables are a necessity! They are the most efficient way to organize your raw data and refer to data that contracts or expands on a regular basis. Likewise, Excel tables can be extremely useful in combination with VBA.
www.thespreadsheetguru.com
Tableaux structurés Excel
fauconnier.developpez.com
2) le nom des controls
leur donner un nom explicite==> tu l'as très bien fait,
mais ca peut être amélioré
ex une règle que j'utilise
un triplon pour donner le type de control
Tbx pour TextBx
Cbx pour ComboBox
Cbn pour CommandButton
Lbl pour Label
Lvw pour ListView
Lbx pour ListBox
puis le nom en lui meme qui indique clairement de quoi on parle
exemple pour les textbox qui te servent pour la date de naissance
plutot que les appeler Text_Age, je les aurais appelés: Txt_Naiss
tous les combobox
Cbx_.
d'ailleurs, si je ne me trompe pas, en fait dans la version ci jointe, j'ai modifié les combobox
j'ai aussi modifié l'apparence du formulaire en utilisant des frames.. j'avais dans l'idée d'afficher les frames enfants uniquement s'ils ont été saisis.. mais bon...
pour en revenir aux calculs
il faudrait que tu expliques, total par total comment tu calcules, qui alimente quoi...
expliquer en meme temps l'utilisation de "Séjour 1"
Je vois dans la section Paiement en bas à gauche
3 Totaux: Total_Club - Nat et Par
TotalClub est calculé comment? à partir du nb de jour * tarifs * réduction?
Total Nat = ?
Total Par =Durée * Parasol (section à part..?
en fait, il y a beaucoup de case de calculs qui ne se mettent à jour que si on clique dessus..
pour le filtre "Doit": il faut juste revoir le filtre pour ne plus voir apparaitre les lignes = "-"
dans la PJ, j'ai aussi corrigé le bouton "Effacer tout" qui n"effacait pas tout.. notamment les combo