Contrôle des Noms propres
Bonsoir
J'ai une liste de noms en colonne sur 2500 lignes. Je souhaiterais les contrôler. Existe t il un moyen pour faire un contrôle ?
Cordialement
Claude
Hello jag8308,
Vous voila bien mystérieux
Bonjour
Mille excuses pour seulement de vous répondre aujourd'hui.
Donc le fichier joint donne une idée des données relevés dans les actes accessibles en ligne. Je les collecte pour alimenter une base de donnée qui est consultable par tout le monde qui ferait des recherches sur des personnes de famille ou autres.
Pour contrôler les Prénoms j'utilise la touche F7. Mais pour les noms je ne connais de méthode (EXCEL 2007)L 2007 pour savoir contrôler si les noms que j'ai relevé sont bien orthographié.
Gendre d'erreur de frappe Nom correct GENDRON et rentrer GNEDRON ou GENDORN par exemple; BERNARD ------> BERANRD.
Je peux constituer une liste de nom avec ceux que j'ai déjà relevé et
que je pourrais alimenter au fur et à mesure que je relève des nouveaux noms
J'espère avoir été clair
Cordialement
Claude
Bonjour à tous,
J'ai bien peur (Si j'ai bien compris) que vôtre demande soit impossible. En effet les noms en France non pas d'orthographe Vous pouvez très bien vous appeler Raimond, Raimont, ou Raimon, de ce fait comment voulez-vous pouvoir le vérifier.
Même sur les prénoms ça reste très litigieux....
Bonjour
Pour les prénoms je les ajoute au fur et à mesure.
Merci
bonjour jag8308, salut Jean-Paul,
voir feuil2
colonne D = valeurs unique qui sont inconnues
colonne G:... ligne, colonne et adresse, de la cellule avec nom inconnu + contenu de la cellule + nom inconnu
dans la macro on a cette ligne, si vous voulez ignoner une colonne, vous pouvez l'ajouter ici.
Case 1 To 9, 19 To 99, 45, 47, 49 'liste avec toutes les colonnes à ignorer
Bonjour à tous,
Bon je pense avoir compris, pour cela nous devons utiliser : La distance de Levenshtein.
J'ai modifier vos tableaux pour les passer en tableaux structurés. Je vous laisse libre de remettre vos couleurs.
J'ai retirer certaines ligne de code qui formataient les colonnes prénom et Epoux/Père/Défunt, je les ai remplacées par des MFC c'est plus interactif.
Bien entendu plus vôtre tableau en feuille deux sera fournis meilleurs seront les retours.
ps Pour tester dans la colonne Nom du tableau de la feuille 1 changer le nom "Martin" par "Marti" bien entendu cette méthode à ses limites concernant les propositions de noms.
Une nouvelle version qui tient compte de plusieurs résultats de recherche. A tester avec un nom 'Dupon'
Merci à tous
Bonne journée
Bonjour à tous,
Merci à tous
C'est tout ? Même pas un retour pour savoir si cela correspond à vôtre demande, Hé bien ça donne envie de vous aider à nouveau...
Bonjour Jean paul
Mille excuses car je viens de tester ton travail.
- Pour les nouveaux noms je dois les ajouter à la liste, faut il trier de nouveau la liste après avoir rentré un nom ?
- De plus j'ai la majuscule du nom de la mère ne fonctionne plus ...?
- Y-a-t-il moyen que quand j'ai fini la ligne, le pointeur ne revienne pas dans la cellule du n° de vue mais dans la cellule Jour ?
cordialement
Bonjour à tous,
@jag8308 Tous d'abord comment remplissez-vous le formulaire ? D'après le code vous devez faire du copier coller de toute la ligne.
Si ce n'est pas le cas et que vous remplissez la ligne du tableau cellule par cellule on peux faire quelque chose.
Ne serait-il pas plus intéressant de passer par un formulaire ? Du moins pour remplir une partie (Les cellules les plus importantes du tableau.).
Sinon :
Pour les nouveaux noms je dois les ajouter à la liste, faut il trier de nouveau la liste après avoir rentré un nom ?
Normalement non, ils sont traités séquentiellement, donc ce n'est pas la peine.
De plus j'ai la majuscule du nom de la mère ne fonctionne plus ...?
Je peux regarder cela...
Y-a-t-il moyen que quand j'ai fini la ligne, le pointeur ne revienne pas dans la cellule du n° de vue mais dans la cellule Jour ?
Tout d'abord répondez aux questions ensuite nous adapterons le code en conséquence.
bonjour,
l'hortographe c'est pas ma tasse de thé.
Voici un exemple avec un fichier qui contient tous les prénoms usités à l'état civil français. il permet d'identifier si il s'agit bien d'un prénom.
Bonjour à tous,
- De plus j'ai la majuscule du nom de la mère ne fonctionne plus .
Pour corriger cela sous le Cas 1 ajouter comme montré ci-dessous, la ligne : Target.Value = UCase(Target.Value)
' -----------------------MODIFICATIONS EFFECTUEES PAR VALTRASE
' Modification du NOM dans la colonne J, M, O ou Q
If Not Intersect(Range("J:J,M:M,O:O,Q:Q"), Cel) Is Nothing Then
' Désactiver les évènements pour la modification (sinon boucle infinie)
Application.EnableEvents = False
' Appel de la fonction
Dim ResultatRecherche As Variant
ResultatRecherche = RechercherApproximationNom(Target.Value)
If TypeName(ResultatRecherche) = "String" Then
' CAS 1 : Correspondance EXACTE trouvée
Target.Value = UCase(Target.Value)
ElseIf IsArray(ResultatRecherche) Then
' CAS 2 : Une ou plusieurs approximations trouvées (le résultat est un tableau)
If UBound(ResultatRecherche) = 0 Then
' CAS 2.a : Une seule meilleure approximation
Dim ReponseMsgBox As VbMsgBoxResult
ReponseMsgBox = MsgBox("Valeur non trouvée. Vous vouliez peut-être dire """ & ResultatRecherche(0) & """ ?" & vbCrLf & vbCrLf & "Cliquer sur OUI pour corriger la cellule.", _
vbYesNo + vbQuestion, "Suggestion de Correction")
If ReponseMsgBox = vbYes Then
Target.Value = ResultatRecherche(0) ' Correction directe
End If
Else
' CAS 2.b : Plusieurs meilleures approximations
With New UserForm1
.tabListNames = ResultatRecherche ' Passer le tableau des candidats
.Show
If .selectedName <> vbNullString Then
Target.Value = .selectedName
End If
End With
Unload UserForm1
End If
Else
'NOTE "Do nothing
End If
Application.EnableEvents = True
End If
' Si saisie en J -> Mettre en O
If Not Intersect(Range("J:J"), Cel) Is Nothing Then
' Désactiver les évènements pour la modification (sinon boucle infinie)
Application.EnableEvents = False
' Ajouter le nom du père en O
Range("O" & Cel.Row).Value = UCase$(Cel.Value)
' Réactiver les évènements pour la suite
Application.EnableEvents = True
End If
' Modificatin du Prénom dans la colonne K, N, P ou R
If Not Intersect(Range("K:K,N:N,P:P,R:R"), Cel) Is Nothing Then
' Désactiver les évènements pour la modification (sinon boucle infinie)
Application.EnableEvents = False
Cel.Value = Application.WorksheetFunction.Proper(Cel)
Application.EnableEvents = True
End If
Next Cel
Finally:
Application.EnableEvents = True
Exit Sub
Catch:
' // Do something.
MsgBox "Oupss... Nous avons rencontré une erreur : " & Err.Number & _
" (" & Err.Description & ") dans la procédure Worksheet_Change du Document VBA sys_Data"
Resume Finally
End SubY-a-t-il moyen que quand j'ai fini la ligne, le pointeur ne revienne pas dans la cellule du n° de vue mais dans la cellule Jour ?
Très bonne question votre code est déjà assez alambiqué, vous ne trouvez pas ? Cela peut se faire mais du coup beaucoup de problème pour vous et pour modifier les cellules de la colonne N° Jour. Cela en vaut-il la peine ?
@dysorthographie Je pense ne pas me tromper en disant qu'il recherche une manière de voir si le nom est bien orthographier. Exemple PONTOIZAEU au lieux de PONTOIZEAU dans ce cas le calcul de la distance de Levenshtein est je pense la meilleure solution. Cela pourrait être adapté aux prénoms avec votre tableau si pas trop long au vu du traitement fait.
Bonjour
Je suis un peu perdu dans vos propositions d'amélioration
1 le formulaire de saisie dans ce cas quels éléments avez-vous besoin ? Je préférerais avoir un formulaire sous forme de tableau comme mon modèle avec quelques modification qui inclurai de nouvelles fonctions.
- Du style si l'âge est < à 20 ans dès que je valide le pointeur passe de l5 à P5.directement
- Quand la naissance est dit naturel : après avoir saisie le nom en J5 il est inscrit automatiquement Inconnu en O5 (Nom du père) et en Q5 le nom saisi pour la mère. Mais cela demande d'ajouter une colonne pour entrer N (N naturel).
C'est des choses auquel je pense ...........
Par contre je ne sais pas comment remettre le sujet en désactivant la validation ?
Bonne journée
Cordialement
Bonjour à tous,
1 le formulaire de saisie dans ce cas quels éléments avez-vous besoin ? Je préférerais avoir un formulaire sous forme de tableau comme mon modèle avec quelques modification qui inclurai de nouvelles fonctions.
On pourrait faire un formulaire utilisateur avec les principales entrées : Date de naissance, nom, prénom, ect. (A vous de voir la liste complète
- Du style si l'âge est < à 20 ans dès que je valide le pointeur passe de l5 à P5.directement
Là je ne vous suit pas du tout. Avons nous le même fichier ?
Où se trouve la colonne avec les dates de naissances ? car pour moi quand vous dites 'dès que je valide le pointeur passe de l5 à P5.directement'' cela ne correspond pas (Voir image ci-dessus)
- Quand la naissance est dit naturel : après avoir saisie le nom en J5 il est inscrit automatiquement Inconnu en O5 (Nom du père) et en Q5 le nom saisi pour la mère. Mais cela demande d'ajouter une colonne pour entrer N (N naturel).
Là encore vous devez être sûr de ce que vous voulez car cela décale tout le code des évènement Change de la feuille...(Mais cela peut être fait)
Par contre je ne sais pas comment remettre le sujet en désactivant la validation ?
Si vous n'y arrivez pas refaite un sujet, tout simplement. Vous pourrez mettre le lien à la fin de cette discussion, pour que l'on ne cherche pas.
Bonsoir Jean-Paul
Je pense que je dois revoir ma copie complète pour que vous puissiez proposer un modèle. Si vous le permettez je vais clôturer le sujet et créer un autre avec plus d'infos et des exemples celà sera plus facile pour vous
Merci beaucoup pour votre aide
Cordialement
Claude