Probléme de champ vide date

Résolu/Fermé
patgame95 Messages postés 35 Date d'inscription lundi 20 avril 2020 Statut Membre Dernière intervention 28 avril 2020 - Modifié le 20 avril 2020 à 23:17
patgame95 Messages postés 35 Date d'inscription lundi 20 avril 2020 Statut Membre Dernière intervention 28 avril 2020 - 23 avril 2020 à 18:10
Bonjour,

j'ai un gros souci de code ou de macro c'est comme vous voulez pour la solution,

j'ai des actions a faire pour des clients par exemple :

date action action faite date signature

or la date signature est très souvent vide car il me faut pas mal d'action avant de signer donc forcement la date signature est vide sur pas mal de lignes

j'ai besoin de cette date de ce sous formulaire pour la mettre dans le pied du même sous- formulaire
ma difficulté est donc de copier le seul champ rempli de cette succession de champ date vide a moins que le vba que je ne connais résolve tout en une fois ?

Comment faire ?

je vais explique pourquoi je veux ça ,car dans le pied de ce sous - formulaire donc par client je veux le nombre d'actions entrepris( un simple comptage) et je veux la date signature en bas de ce sous-formulaire pour pouvoir aussi par client calculer le nombre de jour entre la date signature du sous -formulaire et la date du formulaire principal appelé Date

pour ensuite faire la moyenne dan le pied du formulaire principale ( une synthèse quoi) pour l'ensemble des clients :

moyenne du nombre d'actions et moyenne de jour pour arriver à la signature

voila vous savez tout

En fait peut être qu'il y a plus simple mais je n 'ai pas trouvé non plus, quand il y a signature il y une case a cocher
sur vrai ( cochée) et à ce moment date signature est remplie tout les autres date signature sont vides et

comme on ne signe qu'une fois !! mais je ne suis pas arrivé à trouver la syntaxe


cordialement
Patrick



Configuration: Windows / Firefox 75.0

3 réponses

yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
21 avril 2020 à 09:27
bonjour, tout cela est très confus, et je pense qu'il y a moyen de faire ces calculs via requêtes.

la première élément à expliquer, c'est la structure de tes tables (impliquées ici): noms des tables, noms des champs, type des champs, et, le cas échéant, relations entre les tables.

tu expliques que tu veux obtenir, pour l'ensemble des clients, la moyenne du nombre d'actions et la moyenne du nombre de jours pour arriver à la signature.
quand tu écris "pour l'ensemble des clients", penses-tu "pour chacun des clients", ou "pour les clients pris ensemble"?

peux-tu donner un exemple de données, et le résultat que tu attends?
0
patgame95 Messages postés 35 Date d'inscription lundi 20 avril 2020 Statut Membre Dernière intervention 28 avril 2020
Modifié le 21 avril 2020 à 12:30
je pensais avoir été clair copie dans le bas du sous formulaire du champ date signature qui est souvent vide il n' y qu'une fois ou il soit rempli

l'autre indication est qu'il y a une case à cocher vrai quand la signature est remplie

mais je vais te donner les explications demandées

formulaire principale
: provient de la table "Leads videoconference"

champ : idparticipants - candidats - nom webCon - Date WebConf

le reste des champs sans inportance pour l'explication (courriel etc)

Sous formulaire
provient de la table "suivi leads"

champs : id action - dateAction - Action ( liste deroulante) - conlu ( oui/non case à cocher) -datesignature- idparticipant

relié par champ père/fils id participant

donc j'ai dans mon sous formulaire les résultats pour chaque individu

Je souhaiterais dans le pied de ce sous-formulaire avoir ( moi je disais la date signature par facilité mais si on peut avoir le calcul d'un coup je suis preneur lol )
donc disais je j'aimerais avoir le comptage des actions ( ça facile même pour moi) là ou ça se complique c'est que je veux aussi le ombre de jour entre la date webconf du formulaire principale et la date de signature du sous formulaire

sauf que je ne vais avoir qu'une seule fois le champ date signature rempli les autres fois ce sera vide exemple :

sous formulaire

IdAction - date action - Action Conclu - date signature

1 - 3/04/2020 - envoi mail relance 1- vide- vide
2 - 6/04/2020 - envoi programme webconf- vide - vide
3 - 8/04/2020 - appelé tél- X (oui) - 08/04/2020


la c'est bidon mais voila a quoi ca va ressembler donc bien sur conclu et date signature ne sont remplis qu'une fois ou ... jamais si prospect définitivement perdu c'est un cas qui n'est pas rare (2 /3)


donc si on a les résultats que j'ai décrit plus haut dans le sous formulaire on peut dans le formulaire ( pied de formulaire ) faire la moyenne du nombre d'actions réalisées et la moyenne du délai entre signature et date webconf (Web conférence)

ce résultat du formulaire est bien le résultat pour l'ensemble des prospects

Ai je été plus clair ou te faut il autre chose s'il te faut un petit bout de la base dis moi je t'envoie

amicalement
Patrick
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
Modifié le 21 avril 2020 à 13:13
peux-tu donner un exemple complet de données (inclus des données dans la table "Leads videoconference"), et l'exemple du résultat que tu attends?

veux-tu obtenir la moyenne globale, pour tous les enregistrements de la table "suivi leads" dans lequel "date signature" est présent, du délai entre "Date WebConf" (de l'enregistrement lié dans la table "Leads videoconference") et "date signature"?

peux-tu partager ton fichier?
0
patgame95 Messages postés 35 Date d'inscription lundi 20 avril 2020 Statut Membre Dernière intervention 28 avril 2020 > yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024
Modifié le 21 avril 2020 à 14:22
je t'envoie une copie d'écran avec bulle de texte explicatives les champs des tables correspondantes ont les mêmes dénominations que dans le formulaire

Aprés il ne reste que la base à envoyer

cela te suffit il cette copie d'écran ou veux tu la base complète

j'ajoute aux explications de la copie: si par individu ( pour la moyenne il y en aura une un jour ) un message du type "pour ce client pas encore de signature " car si pas signé pas possible de faire la différence entre les 2 dates

0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > patgame95 Messages postés 35 Date d'inscription lundi 20 avril 2020 Statut Membre Dernière intervention 28 avril 2020
21 avril 2020 à 14:50
cela m'aide d'avoir la base "complète", pour tester avec tes tables, plutôt que de devoir créer une base similaire.

ce que je vais proposer, c'est d'utiliser des requêtes pour obtenir les résultats qui t’intéressent. on verra ensuite si utile d'utiliser ces requêtes comme source dans un formulaire ou un état.

quand tu écris "individu", cela correspond à "idparticipant"?
la moyenne par jour, ce sera par jour de webconf ou par jour de signature?
il n'y a jamais deux dates de signature pour un seul idparticipant?
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024
Modifié le 21 avril 2020 à 15:08
suggestion de requête:

select  w.idparticipants, min(a.[date signature])-w.[Date WebConf] as delai , 
        count(a.[id action]) as actions
from [Leads videoconference] as w left join [suivi leads] as a
on a.idparticipant = w.idparticipants
group by w.idparticipants, w.[Date WebConf]
0
patgame95 Messages postés 35 Date d'inscription lundi 20 avril 2020 Statut Membre Dernière intervention 28 avril 2020 > yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024
Modifié le 21 avril 2020 à 15:41
comment je fais pour t'envoyer le zip je ne vois pas la commande ?

oui individu = Idparticipant

ce n'est pas une moyenne par jour mais par ID participant mais laisser le formulaire comme ça et sortir un etat me va bien aussi

j'ai besoin par ID participant du nombres d'actions effectuées jusque la signature


en combien de temps j'ai signé ( date - date signature enfin je suppose un partdate

e ensuite pour toutes les IDparticipant

moyenne des actions faites avant signature et mooyenne de jour entre la date et la date signature

la difficulté sont les champs vide date signature et le fait qu'il puisse ne pas avoir de signature pour le idparticipant il faudra marque 0 ou pas de signature

pour toutes les id pas encore de signature ou 0 ( car c'est sur il y en aura mais quand )


tu es indulgent c'est une base que j'ai eu et bricolé avec bcp de mal je suis débutant et n'ecris pas de vba

le formulaire concerné est :
F_Leads Participants Videoconference
0
patgame95 Messages postés 35 Date d'inscription lundi 20 avril 2020 Statut Membre Dernière intervention 28 avril 2020
21 avril 2020 à 22:52
moi je dis vive la Belgique lol ça conctionn nickel

je te dis ce que j'ai compris mais je vais faire des tests plus poussée

tu n'as pas pris les lignes vides tuas compté pour l'ensemble des client la moyenne des actions et celle des jours entre datewc et date signature

donc moi je dis mission remplie maitre chapeau bas

je teste pour avoir 2 / 3 participants et j'essaie de mettre en place l'état à mois qu'il faille écrire du code ?
as tu un conseil ?

moi je vois ça comme ça

ls noms car j'ai besoin de savoir qui c'est son nbre d'action ses jours

et la deuxième requête des moyenne je suppose va en bas de l'Etat ou bien ces résultats peuvent aller en bas de formulaire F_Lead videoconfernce ?

finalement j'ai appelè les requêtes :

R_StatWebConf (celle pour chaqueparticipant )
R_StatFinalWebConf ( celle avec les moyenne donc pour l'ensemble des clients)

merci encore a toi
amicalement
patrick
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
Modifié le 22 avril 2020 à 09:48
je ne vois pas de raison, dans ce cas, d'écrire du code.
j'utilise peu les formulaires et les états.
je pense que l'un comme l'autre peut utiliser comme source des requête plutôt que des tables. si nécessaire, tu peux compléter la requête pour y avoir toutes les informations.

j'avais proposé une requête plus complète en #10.

pour peupler le bas du formulaire, tu peux, par exemple, mettre
=DMax("delaimoyen";"R_StatFinalWebConf")
0
a > yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024
22 avril 2020 à 12:15
je l'ai vu ta requête je l'ai même utilisée c'est celle qui donne le nbre d'actions et la moyenne jour par idparticipant

j'ai le respect de ton travail normal

Pour le reste compléter la requête je pense que je vais y arriver je te remercie

pendant que je te tiens et comme tu as la base complète bien entendu des demandes supplémentaires après coup engendre l'effet domino et là c'est complétement en dehors de ma compétence j

Comme tu as pu le constater sur l formulaire F_ Leads Participants video conference (notre formulaire de départ) il y a un bouton maj leads ( ce n'est pas du code de simple macro mais bon ça fonctionne ) qui met là jour la table Leads videoconference a partir d'une feuille Excel (cette feuille provient d'inscription sur les réseaux sociaux facebook en particulier

le contexte: les videos conference sont annoncées par le net avec un formulaire d'inscription et on récupére ces adresses consenties puisque inscription volontaires et ensuite on les traite remerciement, une heure de consultation gratuite etc.

ça fonctionne ce n'est pas là le sujet à l'origine on devait pépère inscrire sur F_Client les prospects et clients de façon plis conventionnelle et surtout en moins grand nombre d'un coup

la question est: peux tu faire un peu de code? pour rapatrier sur la table client les participants de leads video confernce sur les champs connus il y en peu nom- prénom mail et si signature: case a cocher client, pas signature case prospect

uniquement pour les idparticipants "Assiste" sur le champ "choix statut " du formulaire leads videoconference

sinon ça va faire une double saisie la feuille Excel et se retaper la saisie dans F_Client ( issu de T_clients) pour pas mal d'individus entre 20 et 40 à chaque videoconference et elles s'accelèrent !

je sais que je demande beaucoup mais je n'ai personne vers qui me retourner, je pense que je me suis attelé à une tâche un peu au dessus de mes moyens mais c'est la dernière ligne droite après ça j'ai fini

Mais je comprendrais si tu ne voulais pas faire ce boulot, chacun à sa vie

je vais mettre en place en bas du formulaire ton dernier code

je te suis de toute façon infiniment reconnaissant du temps que tu as passé sur ma base

Amicalement

Patrick
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > a
Modifié le 22 avril 2020 à 13:32
je pense probablement pouvoir aider pour le code (je n'ai pas tout compris donc je préfère ne pas te donner de faux espoirs).
le plus gros de ce genre de travail, c'est souvent de comprendre le résultat attendu.
là, tu peux aider en étant le plus factuel possible, en faisant référence aux tables et pas aux formulaires, en utilisant les noms des champs et pas le vocabulaire de votre business.

tu mentionnes quelque chose qui fonctionne (qui met là jour la table Leads videoconference a partir d'une feuille Excel).
tu mentionnes que ce serait présent dans la base: moi je ne vois rien de semblable.
tu écris "ce n'est pas du code de simple macro", sans préciser ce que c'est.
  • *EDIT*: j'ai mieux regardé, je vois ce que c'est.


ensuite tu mentionnes que tu voudrais un code pour rapatrier sur la table client les participants de leads video confernce.
cela est-il en lien avec ce qui est fait avec la feuille Excel? cela se passerait en même temps?

en passant, je me dis que c'est sans doute une mauvaise idée d'avoir des informations sur des personnes dans deux tables. il serait peut-être préférable que la table Leads videoconference ne contienne pas d'information sur les personnes, ait juste un champ avec IDClient (de la table clients).
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > a
22 avril 2020 à 13:05
c'est peut-être plus clair de démarrer une nouvelle discussion pour le code évitant la double saisie.
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024
22 avril 2020 à 13:41
l'importation de la feuille Excel utilise une technique opaque, dans laquelle on ne peut pas ajouter du code.
le plus simple (pour moi) serait peut-être, via du code, de faire une seconde importation dans la table clients.
ce code pourrait-être démarré par le même bouton. si on va vers cette piste, il me faudrait un exemple du fichier Excel source, avec quelques données de test.
0