Créer un tableau de facturation automatisé à partir d'un tableau d'inscrits
Bonjour à tous !
Je travaille dans un accueil de loisirs pour ados. Je cherche à concevoir un tableau automatisant la facturation des jeunes à partir de leurs inscriptions...j'ai commencé à réfléchir à un tableau en ce sens, mais certaines de mes formules ne sont pas suffisantes et je ne parviens pas à débloquer mon problème...
L'objectif serait que lorsque je remplis les inscriptions des jeunes dans l'onglet "présences", les noms des jeunes apparaissent automatiquement dans l'onglet "facturation" (mais n'apparaissent qu'une fois, pas en doublon) et qu'en fonction des activités sur lesquelles je les ai noté dans le 1er onglet, leur tarif s'affiche automatiquement... Je m'étais dit que j'indiquerai manuellement le QF dans l'onglet facturation, cela m'évitait de créer une autre base de données.
Donc les formules que je n'arrive pas à créer :
- formule à écrire en A7 de facturation (et à copier ensuite dans toute la colonne) = Si tu vois ce qu'il d'y a d'écrit en A7 dans la plage B6 à G29, alors tu écris le nom et tu supprimes les doublons de ce nom dans la colonne A
- formule à écrire en C7 = Si tu vois le prénom écrit en A7 dans la plage B6-B29, alors tu appliques la formule qui est déjà écrite dans la cellule C7
Je réalise que c'est drôle d'écrire en français ce qu'on voudrait dire à excel... mais j'espère que cela vous aura aidé à bien comprendre mon problème !!!
Merci d'avance,
Bonjour,
solution avec une macro qui se déclenche à l'ajout d'une présence.
il existe également une solution via formule, mais je laisse ce plaisir aux spécialistes des formules matricielles
j'ai également adapté quelques formules dans ton tableau facturation
Alors déjà : Merci pour le "NB.SI.ENS", c'était la double condition qui me manquait ! J'ai été étonnée toutefois de la manière dont tu l'as insérée : en fin de formule et avec un * (pas un
Par contre pour la macro... c'est une chose que je ne maitrise pas DU TOUT !!! Tu saurais me dire comment faire ?...
Alors déjà : Merci pour le "NB.SI.ENS", c'était la double condition qui me manquait ! J'ai été étonnée toutefois de la manière dont tu l'as insérée : en fin de formule et avec un * (pas un
je multiplie le tarif par le nombre de présences de la personne à l'activité (nombre qui peut être 0 ou 1) suivant la logique de ta feuille inscription
Par contre pour la macro... c'est une chose que je ne maitrise pas DU TOUT !!! Tu saurais me dire comment faire ?...
si c'est , Comment la faire fonctionner ? introduire une présence dans une activité payante (si nouveau nom, le nom sera ajouté)
si c'est, comment faire pour la mettre dans un autre classeur ?
selectionner le code ci-dessous
le copier
aller dans le classeur excel
choisir l'onglet correspondant à présences
faire clic droit sur le nom de l'onglet (cela ouvre une nouvelle fenêtre, Visual basic for application)
coller le code
fermer la fenêtre VBA
la macro est prête à l'emploi
la macro est adaptée à la structure du classeur et des feuilles que tu nous as mis comme référence. Si la structure est différente, il faudra adapter la macro.
Private Sub Worksheet_Change(ByVal Target As Range)
'macro qui se déclenche si on a fait une modification dans la feuille
'on vérifie si on a cliqué dans la zone d'introduction des présences
If Not Intersect(Target, Range("B6:G29")) Is Nothing Then
Set wsf = Sheets("facturation")
For Each col In Array(2, 5, 6, 7) 'on prend une à une chaque activité payante
dl = Cells(4, col).End(xlDown).Row 'on détermine le nombre de personnes présentes à cette activité
For lig = 6 To dl ' on prend chaque nom présent
'on vérifie s'il est déja présent sur la feuille facturation
Set re = wsf.Range("A7:A20").Find(Cells(lig, col), lookat:=xlWhole)
If re Is Nothing Then 'si non
dlf = wsf.Cells(Rows.Count, 1).End(xlUp).Row + 1 'première ligne libre sur facturation
wsf.Cells(dlf, 1) = Cells(lig, col) 'on ajoute le nom
End If
Next lig 'nom suivant
Next col 'activité suivante
End If
End Sub
Whaou.
J'avais déjà vu des lignes de code, mais jamais pratiqué moi même.
Je vais avoir besoin de me pencher à tête reposée sur ceci, dans tous les cas, merci du temps que tu me consacres !! Si jamais je n'ai pas compris / réussi quelque chose, je reviendrai t'embêter !!