Bonjour Pascalpir, hyperion13,
Votre fichier Excel des décès possède une colonne de plus que l'ancien fichier.
Voici une petite application qui importe les 3 fichiers Excel que vous aviez poster.
J'ai changé un peu l'approche par rapport au:
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97, "tblDecesImport", CheminFichier, True
qui ne permettait pas de vérifier l'intégrité du fichier Excel. J'ai ajouté la suppression des doublons qu'il pourrait y avoir dans le fichier Excel ainsi que le nombres de colonnes à importer.
.Range("A1").CurrentRegion.RemoveDuplicates , Header:=xlYes
J'ai ajouté les tests suivants: fichier décès doit avoir au moins une partie de date et un nom ou prénom, idem pour le fichier naissance et pour le fichier mariage au moins une partie de la date et au moins un nom ou prénom pour chaque conjoint. C'est dans la fonction suivante:
1 2 3 4 5 6 7 8 9 10
| Private Function fuGarbage(ByVal strTable As String, ByVal strDate As String, ByVal strPremierNom As String, ByVal strDeuxiemeNom As String) As Boolean
Select Case strTable
Case cDeces, cNaissance
If strDate = "" Or strPremierNom = "" Then: fuGarbage = True
Case cMariage
If strDate = "" Or strPremierNom = "" Or strDeuxiemeNom = "" Then: fuGarbage = True
End Select
End Function |
Ça me semble logique si on ne veut pas importer n'importe quoi. De plus on fait d'une pierre deux coups, si une ligne est vide, elle aussi est éliminée.
PascalpirTotal.zip
Comme je vous disais dans mon autre post, j'ai découpé le code pour qu'il soit réutilisable.
Bonne journée
Partager