Faire resortir des A B C D...... dans un formulaire

Résolu/Fermé
Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022 - 18 juil. 2017 à 11:08
 Utilisateur anonyme - 18 oct. 2017 à 01:42
Bonjour
Je suis entrain de faire un formulaire dans lequel je souhaite avoir un ordre l'alphabétique en dessous. je souhaite avoir A B C..... Z. Si clique sur "A" dans lequel le peux voir tous les "nom" en "A". Je souhaite créer un code qui va me cherche a travers un bouton tous les noms en A. ainsi de suite. Merci d'avance.

86 réponses

Utilisateur anonyme
18 juil. 2017 à 22:49
Bonjour,

tu vas créer autant de boutons que de lettres ?

Une zone de liste ne serait pas + adaptée ?

A te lire

++
0
Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022
19 juil. 2017 à 13:53
merci pour ta réponse, je l'ai résolu, mais mon problème devient assez complexe maintenant, je souhaite sauvegarder un code pour qu'il soit automatiquement sur 2 code. tables, j'ai essayer avec un formulaire et un sous formulaire avec dans le propriété père et fils mais ça ne marche pas. Il ne le sauvegarde uniquement que dans la table du formulaire. Merci de ne donné une autre technique
0
Bonsoir
Oui je sais, j'ai deja un code que vous m'avez envoyer qui me permets d'avoir un numéro unique par personne si on voit les noms pour la 1ère fois il met 0001 et si c'est les 3 première lettres sont mêmes mêmes le code met un numéro il met 0002 a la fin. Mais je souhaite lui dire dans ce même code si tu as déja vu les noms et les prénoms auparavant met 0001 après. Laisse le numéro que t'avais mis avant. L'objectif c'est de ne pas avoir de boublons sur le numéro special que je veux créer, avec cette contrainte que j'ai les noms et les prénoms.
0
Utilisateur anonyme > Huguo90
26 juil. 2017 à 20:50
Mais si tu as 2 personnes différentes (l'une de Paris, l'autre de Lyon), qui se nomment toutes les 2 MARCEL DURAND ?????
On ne peut pas identifier une personne unique avec ses seuls noms et prénoms. Le seul moyen c'est le numéro Sécu...
0
Huguo90 > Utilisateur anonyme
26 juil. 2017 à 21:48
Oui, Je sais mais j'ai pas de numéro de sécurité sociale ni d'autre numéro unique je dois le crée moi même. c'est possible avec le VBA de génèrer un numéro aléatoire pour chaque nom et prénoms et de lui dire si tu as déjà vu ce nom et prénom alors tu mets le même numéro choisit au départ?

Et pour le lien entre deux formulaires avec un code? Vous avez trouvé pour moi svp?
C'est de faire en sorte quand je génère le numéro sur la table "PERSONNE", Le numéro est a la fois sauvegardé sur table entité. J'ai essayer avec père et fils ça marche pas. Je voudrais le faire avec un code.
0
Utilisateur anonyme > Huguo90
26 juil. 2017 à 21:54
Pour le moment, on s'occupe du code personne...
Donc, cela ne te déranges pas si tu as le même code pour 2 personnes en fait différentes ?


Réponds à cela, on passera à la suite après.

A+
0
Utilisateur anonyme
19 juil. 2017 à 18:28
Bonjour,

un 3ème message pour le même souci...

Quels sont les champs de tes tables ?

A+
0
Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022
Modifié le 20 juil. 2017 à 12:12
 que j'ai mis en avant de mise a jour (Avant MAJ) dans mon formulaire:


Option Compare Database


Private Sub Commande11_Click()
Dim strCode As String
Dim strPrefixe As String

' Vérifier que le nom et le prénom
' sont renseignés, puisqu'ils servent
' dans le préfixe de numérotation
If IsNull(Me.nom_personne) Or IsNull(Me.prenom_personne) Or IsNull(Me.SIREN) Then
MsgBox "Le nom ,le prénom et SIREN doivent être renseignés !", vbExclamation
Cancel = True
Exit Sub
End If

' Préfixe à utiliser pour la numérotation
strPrefixe = UCase(Left(Me.nom_personne, 3) & Left(Me.prenom_personne, 3)) & Left(Me.SIREN, 4)

' Numérotation
If IsNull(Me.code_personne) Then
Me.code_personne = AutoNumber("Personne", "code_personne", strPrefixe, 4)
End If

End Sub

Private Sub Form_AfterUpdate()

End Sub

J'ai une table appelé "personne" avec 4 colonnes dans la table principale : code_personne nom_personne, prenom_personne et SIREN. Et j'ai une autre table appélé "entité" avec lien commun "code_personne. je souhaite faire en sorte quand je clique sur ce bouton (commande11) je retrouve le "code_personne"' (qui me genere un numéro généré numéro unique grâce à ce code) sur la table entité.

Mon problème c'est que je fais des formulaires et des sous-formulaires il me voit apparaitre sur le numéro dans le formulaire de la table entités mais le numéro n'est pas sauvegardés dans la table entité. Et même avec des requêtes ça ne marche pas. Le numéro n'est jamais sauvegardé dans la table.

Astuces Pour m'aider essaie de la faire directement avec la fonction et je vous envoie ma fonction autonumber utilisée. je vous assure que tout fonctionne:


Option Compare Database

Function AutoNumber( _
ByVal strTable As String, _
ByVal strField As String, _
Optional ByVal strFormat As String = "", _
Optional ByVal intDigits As Integer = 4)

' Quelques variables...

Dim varMarkers As Variant, varMark As Variant
Dim strCriteria As String
Dim strNum As String, lngNum As Long, strPart As String

' Quelques retraitements...
strField = "[" & strField & "]"
strFormat = Replace(strFormat, "'", "''")

' On cherche la valeur maximale déjà employée dans la table
strCriteria = strField & " LIKE '" & strFormat & "*'"
strNum = Nz(DMax(strField, strTable, strCriteria), "")

' On crée le nouveau numéro
lngNum = IIf(strNum = "", 1, Val(Mid(strNum, Len(strFormat) + 1)) + 1)
strFormat = strFormat & Format(lngNum, String(intDigits, "0"))

' Valeur finale
AutoNumber = strFormat
Exit Function


End Function

j'aimerais faire en sorte de faire apparaitre ce les numero sans beosin de bouton sur un ensemble de nom, prenom et numero de SIREN que j'ai déjà. Merci.
0
Je sais que le code fonctionne, c'est moi qui t'ai envoyé la base exemple :) ...

Tu as 2 questions là, non ?

Le + simple est que tu envoies ici ta base avec les infos via un lien SMASH :
https://www.commentcamarche.net/faq/47439-utiliser-smash-pour-vos-envois-de-fichiers

A+

Ce n'est pas à un vieux singe qu'on apprend à faire des grimaces
0
Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022
Modifié le 21 juil. 2017 à 10:31
Bonjour
Je viens de mettre le documents sur le lien smash comme vous me l'avez recommandé. le voici https://https.fromsmash.com/c3b282de-6dec-11e7-830d-0a39043893bc Pour des raison de confidentialité les noms sont écrit en partie, Merci beaucoup de votre aide.

En effet j'ai deux questions. la première j'espère qu'elle bien explique et la deuxième question, est un peux moins ;). j'ai effectivement une base avec plus de trois mils nom et prénom, je voudrais savoir comme faire pour effectuer un numéro unique sur l'ensemble de la base " sachant qu'il va effectuer le même travail (qui est de donnée un numero unique a chaque personne et si c'est la première fois qu'il met 001 et si c'est la deuxième fois qu'il voit le nom qu'il met 002 etc..) je voudrais savoir si c'est possible avec une macro si c'est possible comme tu peux m'aider a le réalisé, soit avec une bouble for each.... Merci.
0
Utilisateur anonyme > Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022
21 juil. 2017 à 17:58
Bonjour,

ton lien ne fonctionne pas...

Recrées le et remets le bon lien ici...

A+
0
Utilisateur anonyme > Utilisateur anonyme
21 juil. 2017 à 18:42
C'est ok, il y avait un '.' en trop.

Je vais regarder cela, mais juste la taille du fichier me fait peur...

A+
0
Utilisateur anonyme > Utilisateur anonyme
21 juil. 2017 à 18:46
Il n'y a que 16 personnes...
0
Utilisateur anonyme
21 juil. 2017 à 23:12
Et quelle différence entre la table personne et la table entités (à part que cette dernière comporte > 3000 enregistrements vides) ???


0
Utilisateur anonyme
21 juil. 2017 à 23:52
je veux bien pondre une fonction pour 3000 enregistrements, mais pas pour 16...

Sans + d'infos de ta part, j'en reste là.

A+
0
Utilisateur anonyme > Utilisateur anonyme
22 juil. 2017 à 03:24
Et au début c'était 3 lettres noms & 3 lettres prénom + num auto. Là tu inclues le SIRET.

La balle est dans ton camp...

A+
0
Oui j'ai inclus le numero de SIREN là dedans, 3 lettres noms & 3 lettres prénom + SIREN+ num auto (0001s'il trouve le nom et prenom pr la 1ère fois, 0002 pr la 2ème fois qui est semblable )
j'avantage si j'ai un code qui peux me faire pour les 3000 c'est mieux lieu de clique sur le bouton 300 fois. Le bouton sera utilise pour un utilsateur qui souhaite inscrire le noms d'une personne pour la 1ère fois, tu vois?
0
Utilisateur anonyme > Huguo
22 juil. 2017 à 17:18
Oui,
mais je ne vois pas les 3 000 noms, uniquement 16...

A+
0
Utilisateur anonyme > Utilisateur anonyme
22 juil. 2017 à 19:45
Bon,

voici la base. il y a un bouton commande36 qui traite l'ensemble des enregistrements.

Tiens nous au jus.

https://fromsmash.com/3c8c39e9-6f05-11e7-830d-0a39043893bc

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
26 juil. 2017 à 17:21
Bonjour,
ce n'est pas une bonne idée que d'identifier une personne que par son nom et son prénom...

Imagines qu'il y ait 2 JACQUES DURANT, comment seront-ils différenciés ?

A+
0
OUI exactement c'est Bon, S'il y 2 personne qui a le même nom et le même prénom et qui sont dans la même ville il peut être 2 ou 3, je les retraites a la main. Mais je pense qui on arrive a retenir le même numéro quand il voit même nom et prénom c'est déja ça, comme ça j'aurai pas de doublons sur les numéro. Merci
0
Utilisateur anonyme
27 juil. 2017 à 00:17
Maintenant il y a la ville ???

0
Utilisateur anonyme
27 juil. 2017 à 04:05
Bon,

il faut garder (enfin mettre) en tête que 1 code = 1 personne.

Il vaut mieux (même si cela me fait tousser...) avoir 2 fois la même personne avec 2 codes que 2 personnes différentes avec le même code (je m'étrangle).

Dis vraiment ce que tu veux faire, sans cacher d'infos (je pense au SIRET, puis à la ville, etc), et on t'aidera.

Là je ne peux plus avancer.
0
Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022
27 juil. 2017 à 10:56
Bonjour
L'idée est un peu complexe je sais, mais mon objectif c'est de faire une relation de un plusieurs. Dans la table personne j'aurais 1 numéro=1 personnes, mais dans la table entités ce numéro peut être vu 2 ou fois, cela signifie que la personne qui est dans la table "personne" a plusieurs fonction dans la table entité. Je ne peux pas le faire avec nom et prénom, parce que je vais me mêler les pinceaux, parce qu'il y a plusieurs prénom et noms différents, je veux plutôt crée un numéro unique par personne à la place de "Nom Prenom" qui j'ai cette petite exemple que je vous aie envoyé.
Voici le lien d'un exemple : https://fromsmash.com/1bcb41e2-72a9-11e7-830d-0a39043893bc

Merci
0
Utilisateur anonyme
27 juil. 2017 à 20:54
Non, ce n'est pas complexe, c'est que tu expliques mal dès le départ.

Tu veux gérer les entités (société) puis les personnes ? Ou le contraire ?

Dans tous les cas, il te manque une table là.

A+
0
Utilisateur anonyme
27 juil. 2017 à 21:18
Re,

peux-tu répondre à ces 2 questions :

Une personne peut faire partie de différentes entités ?
Une entités peut contenir plusieurs personnes différentes ?

A+
0
Oui et oui, La able que je t'ai envoyé contient exactement un exemple. Le Nom Prénom va être remplacé par un numéro spécial crée avec un bouton une fois qu'un utilisateur enregistre une personne dans la base avec le nom "généré un code", Il restera le même Puisque ça va traité que 1 personne a la fois.
Le retraitement qu'on parle depuis le debut a savoir si "tu vois nom pour la 1ere fois alors tu mets Les 3 lettrenomprenom01 et si le revois encore tu remets la même chose Je le ferrai sur le code "commande 36" pour pouvoir faire le retraitement sur les 3000 personnes dont 800 sont répété 2 ou 3 fois signifie (qu'il a deux ou trois poste dans la fonction publique ou privé ;) )
Je pense que j'ai pas besoin de plus de table parce j'ai les personnes d'une part et les entités d'autres part. La relation sera de 1 a plusieurs. Une personne a 1 ou plusieurs poste comme dans l'exemple.
0
Utilisateur anonyme
27 juil. 2017 à 22:11
Si une personne peut être affectée à plusieurs entités, et si chaque entité peut contenir plusieurs personnes, il te manque une table...

Je t'envoie une base exemple dans la soirée.

A+
0
Ah oui, je vois ce que tu dis, mais je compte te traiter a la Main, parce c'est facile de les retrouvé puisque les entités sont reconnu a travail leurs numero SIREN qui est unique, Donc c'est plus facile pour moi de les retrouvé. Je mets plus l'accent sur les personnes parce qu'elles n'ont pas numéros pour les identifiés.
0
Utilisateur anonyme
27 juil. 2017 à 23:10
Je te prépare une base exemple.

Tu l'auras dans la nuit.

A+
0
Utilisateur anonyme
28 juil. 2017 à 00:02
Voici une base exemple.

Il manque toute la mise en page, la création des boutons, etc, mais le principal est que tu valides le fonctionnement entre les entités et les personnes.

https://fromsmash.com/ff8b0e95-7316-11e7-830d-0a39043893bc

A+
0
Huguo90 Messages postés 64 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 30 septembre 2022
Modifié le 28 juil. 2017 à 11:36
Bonjour
J'ai bien aimé ton travail mais je constate que tu complexifie un peu la tâche. J'essaie d'être plus simple parce qu'il y aura d'autres utilisateurs qui peuvent le modifier a l'avenir. Mais mon plus grand souhaite c'est de voir le numéro que j'ai créé sur la table personne soit automaquement inscrit sur la table entités ( donc avec une relation un a plusieurs j'aurais tous les personnes qui y bosse, et le code "commande36" que tu as fais dernière fois soit puis prendre en compte si le noms est déjà écris et qu'il retiens le même numéro. J'ai réfléchis a un autre truc très intéressant qui nous permettra de solution tout le problème, c'est possible de créer un code qui nous interroge sur le numéro, par exemple Si on a deux LOUIS Marie, La première il met LOUMAR001 et la deuxième il nous dis ce en message boxe du genre "ce nom existe déjà souhaite-tu garder le même numéro c'est a dire LOUMAR001 ou en mettre un autre LOUMAR002" Si on arrive a faire ça ce serai trop bien ;)

Le problème aussi on a pas encore résolu le problème pour les 3000 personnes donc 800 possède le 2 ou 3 postes. "qui est donc avec le code "commande 36"
0
Utilisateur anonyme
28 juil. 2017 à 19:31
Mais que veux-tu exactement ?

Une personne par entité ? Une entité par personne ??????

Hier encore tu me disais une personne peut avoir plusieurs entités et vice versa...

A+
0
Bonjour
On est tjrs sur le même esprit, Un personne vers son ou ses entités auquel il travaille. Trouver le nombre de personne qui travaille dans une entité je l'ai deja trouvé grâce au SIREN qui est un numéro unique pour chaque institution. "Concentrons nous sur sur les personnes vers les entités et non inverse.
0
Utilisateur anonyme
29 juil. 2017 à 02:49
Donc ???

Une personne = plusieurs entité
Une entité = 1 et une seule personne ???

C'est sûr ?

A+
0
Une personne = plusieurs entité
Une entité = plusieurs personnes

Dsl, c'est moi qui n'a bien approfondie mon exemple que j'ai envoyé. Une entité a au minimum 4 personne qu'on cherche a ciblé. Une mairie par exemple on a Le maire, maire adjont et 2 autres responsables. Un OPH par exemple peu avoir Un president un vise president un directeur financier et un directeur administratif. Le problème : Le maire peu avoir son nom ecrit 2 fois dans la base parce qu'il est a la fois Maire d'une ville et President d'un OPH de cette ville ou d'une autre Ville. L'idée c'est de créer un code si sera unique a lui seul qui sera aussi inscrit dans la table Entités. Donc dès on fait une relation de 1 a plusieurs de la table personne a la table entités on le retrouve grace a ce code.
0
Utilisateur anonyme
29 juil. 2017 à 19:18
Hugo, Louis, une personne, une entité, etc...

Difficile de suivre :)

Donc, en quoi ai-je complexifié ?

C'est le seul moyen.

Si tu valides, on s'occupe du reste.

A toi hugo/Louis
0
Utilisateur anonyme
29 juil. 2017 à 19:53
Voici la base, j'ai rajouté les titres par entité / personne et personne /entité.

Dis moi si ok, et on passe au reste...

https://fromsmash.com/bc8be9db-7486-11e7-830d-0a39043893bc

A+
0
Bonsoir
J'ai pas de problème avec ta présentation, je trouve que c'est bien fait, mais je ne vois pas le code qui permet trouvé si la personne est présente dans la base pour une première fois, et qui permets de les détectés juste en voyant leur noms et prénoms? Je sais que c'est un peu complexe ce que je te demande. ET Merci de bcp ton aide, j'attends le reste.
0
Bah, j'attends que tu valides ou non la modélisation (1 personne = plusieurs entité et 1 entité = plusieurs personnes).

Après, on verra le code...

Le + important est là.

Tu te focalises sur le code depuis le début, mais le + important est déjà le modèle.

Ce n'est pas à un vieux singe qu'on apprend à faire des grimaces
0
Utilisateur anonyme > Utilisateur anonyme
30 juil. 2017 à 23:18
Et stp, évites de changer de pseudo...

Le mieux, est de t'inscrire, tu n'en tireras que des bénéfices :)

https://www.commentcamarche.net/infos/25881-forum-ccm-mode-d-emploi-pourquoi-et-comment-devenir-membre/

A+
0
Utilisateur anonyme
31 juil. 2017 à 01:11
Tiens,

avant que je ne sois plus dispo :

https://fromsmash.com/3643d5b4-757c-11e7-830d-0a39043893bc

Si tu veux mettre ceci pour des milliers d'enregistrements, fais signe. Et n'attends pas :)

A+
0
Utilisateur anonyme
31 juil. 2017 à 01:18
Et essaies de faire par toi-même, cela sera plus enrichissant pour toi que "d'attendre" un code tout pondu...

Si souci, tu trouveras de généreux contributeurs ici.

A+
0
Huguo90 > Utilisateur anonyme
31 juil. 2017 à 11:43
Je suis deja inscris mais a chaque foi que je connecte, ça bugge. EN plus je bosse, contrairement a ce que tu pense ;) je suis pas trop douer en VBA mais je viens de creer un code personnaliser de recherche qui fais en sorte de me retrouver les noms et prénoms et le numero de SIREN avec des filtres et tout et ça marche. SI tu le veux je te l'envoie... Merci bcp pour ta patience. Mais si tu m'envoie le code pour 3 milliers ou aussi juste me dire ce que je dois faire pour finir definitivement avec cette histoire qui me hante depuis prêt d'un mois là. merci
0
Bonjour
Je suis entrain de modifier ton code pour avoir la même chose pour les 3112 données (dans un nouveau bouton que j'ai créer comme pour le "commande 36" , le problème il m'affiche erreur e compilation End inattendu. Je vous renvoie le code, Merci
Option Compare Database


Private Sub Commande112_Click()
DoCmd.GoToRecord , , acFirst 'on se met sur le premier enregistrement


traitement:
Dim strCode As String
Dim strPrefixe As String

' Vérifier que le nom et le prénom
' sont renseignés, puisqu'ils servent
' dans le préfixe de numérotation
If IsNull(Me.Nom) Or IsNull(Me.Prenom) Then
MsgBox "Le nom ,le prénom doivent être renseignés !", vbExclamation
Cancel = True
Exit Sub
End If

' on va regarder si nom et prénom déjà présent

Dim nombre_enregistrements As Integer

nombre_enregistrements = DCount("*", "[personne]", "[Nom] = '" & Me.Nom & " ' AND [preNom] = '" & Me.Prenom & " ' ")

If nombre_enregistrements > 0 Then 'il y a déjà le même nom et prénom dans la table
a = MsgBox("Il y a déjà un homonyme dans la base, voulez vous vraiment ajouter cette personne ?", vbYesNo, "Attention")

If a = vbNo Then 'on n'ajoute pas la personne
Cancel = True ' on annule
Exit Sub 'on sort -->
End If
' Préfixe à utiliser pour la numérotation

strprefixeNom = Replace(Me.Nom, " ", "") 'on efface les espaces du nom
strprefixePrenom = Replace(Me.Prenom, " ", "") 'on efface les espaces du prénom

strPrefixe = UCase(Left(strprefixeNom, 3) & Left(strprefixePrenom, 3)) 'on met en majuscules et on concatène


' Numérotation
If IsNull(Me.code_personne) Then 'si la personne n'a pas de code
Me.code_personne = AutoNumber("Personne", "code_personne", strPrefixe, 4)
End If

DoCmd.GoToRecord , , acNext

GoTo traitement

fin:
Private Sub Form_AfterUpdate()
End Sub

Private Sub Form_Load()

End Sub
0
Utilisateur anonyme
31 juil. 2017 à 19:36
Re,

fin: 
Private Sub Form_AfterUpdate() 
End Sub 

Private Sub Form_Load() 

End Sub


Enlèves
Private Sub Form_AfterUpdate()
End Sub

Private Sub Form_Load()

0
Bonsoir,
Je viens de l'enlever ça marche tjrs. Essaie une simulation de ton coté pour moi stp ave les données que tu as. Merci d'avance.
0
Utilisateur anonyme
1 août 2017 à 00:27
Le souci, c'est que les données que j'ai contiennent déjà un code_personne, et que je ne peux l'enlever car il est clé.

Envoies donc ta base avec les infos.
0
Utilisateur anonyme
Modifié le 1 août 2017 à 01:01
J'ai enlevé la clé.

Je pense que c ok, mais je n'ai pas envie de me créer 1 000 personnes pour valider le test...

Alors envoies tes données.

https://fromsmash.com/eecce561-7643-11e7-830d-0a39043893bc

Ce n'est pas à un vieux singe qu'on apprend à faire des grimaces
0