Bonjour donc voila j'ai un probléme au niveau de l'importation je m'explique j'ai effectué un code qui permet l'importation mais j'ai rencontré un probléme(VIOLATION DE LA CLE PRIMAIRE) car la mise à jour de fichier excel contient toujours les autres enregistrements(les anciens) du coup pour la premiére importation ca pose aucun probléme mais pour la suivante on a une violation de la clé primaire donc j'ai pensé qu'on devrait vérifier la clé primaire au début si elle existe déja on modifie les champs correpondants à cette clé primaire si elle n'existe pas on insére une nouvelle ligne donc la base de donnée, il ya une autre méthode : on supprime tout les enregistrements de la base de donnée et on insère de nouveau les lignes d'excel au niveau de la base de donnée sql : voici le code mais ca mache pas et je sais pas c'est quoi l'erreu :s si qqlun peut m'aider ca serait génial !!

Code VB.Net : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
' tout ça c'est au niveau du module ;) 
Imports System.Data.OleDb
Imports System.Data.SqlClient
Module Module1
    Public cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Classeur1.xls;Extended Properties=Excel 8.0")
    Public cn1 As New SqlConnection("Data Source=EODELL-PC;Initial Catalog=projet;Integrated Security=true")
    Public ds As New DataSet
' en ce qui concerne la forme voila son code !!
Imports System.Data.SqlClient
Imports System.Data.OleDb
Public Class Form1
    Dim daa As New OleDbDataAdapter("select * from [Feuil1$]", cn)
    Dim da As New SqlDataAdapter("select * from Employé", cn1)
    Dim cb As New SqlCommandBuilder(da)
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        daa.Fill(ds, "[Feuil1$]")
        da.Fill(ds, "Employé")
' ca c'est pour la 2éme méthode dont je vous ai parlé au dessus : supprimer 'tout les enregisrements de la BD sql 
 
        'Try
        '    For i = 1 To ds.Tables("Employé").Rows.Count
        '        'Dim l As DataRow = ds.Tables("Employé").Rows(i)
 
        '        ds.Tables("Employé").Rows.RemoveAt(i)
        '    Next
        'Catch ex As Exception
        '    MsgBox(ex.Message)
        'End Try
        'da.Update(ds, "Employé")
    End Sub
' ça c'est le boutton importer 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
 
        Dim z As Boolean = False
        For Each ee As DataRow In ds.Tables("[Feuil1$]").Rows
            For i = 0 To ds.Tables("Employé").Rows.Count - 1
                Dim l As DataRow = ds.Tables("Employé").Rows(i)
                If l(1) = ee(1) Then
                    l.BeginEdit()
                    l(1) = ee(1)
                    l(2) = ee(2)
                    l(3) = ee(3)
                    l(4) = ee(4)
                    l(5) = ee(5)
                    l(6) = ee(6)
                    l(7) = ee(7)
                    l(8) = ee(8)
                    l(9) = ee(9)
                    l(10) = ee(10)
                    l.EndEdit()
                    z = True
 
                End If
            Next
            If z = False Then
 
                Dim dr As DataRow = ds.Tables("Employé").NewRow
                dr(0) = ee(0)
                dr(1) = ee(1)
                dr(2) = ee(2)
                dr(3) = ee(3)
                dr(4) = ee(4)
                dr(5) = ee(5)
                dr(6) = ee(6)
                dr(7) = ee(7)
                dr(8) = ee(8)
                dr(9) = ee(9)
                dr(10) = ee(10)
                ds.Tables("Employé").Rows.Add(dr)
 
            End If
 
        Next
        da.Update(ds, "Employé")
'Donc voila si quelqu'un peut repèrer l'erreur qu'il m'informe merci davance !!