sanaaSooma
Messages postés46Date d'inscriptiondimanche 31 décembre 2000StatutMembreDernière intervention 9 mars 2010
-
9 déc. 2009 à 17:19
sanaaSooma
Messages postés46Date d'inscriptiondimanche 31 décembre 2000StatutMembreDernière intervention 9 mars 2010
-
11 déc. 2009 à 12:53
bonsoir j'ai une feuille excel cotenant des information dans la premère colonne mais j'ai des lignes identique je veux supprimer ces lignes identiques et garder seulement une en vb net
merci
bobo10
Messages postés22Date d'inscriptionmardi 14 mars 2006StatutMembreDernière intervention11 décembre 2009 9 déc. 2009 à 17:25
Tu peux te connecter sur la feuille excel via OleDb et ensuite faire un select Distinct(NomDeColonne) et récupèrer les donnée dans une datatable.
Ce sera ensuite plus facile pour traiter les données dans ton programme
bobo10
Messages postés22Date d'inscriptionmardi 14 mars 2006StatutMembreDernière intervention11 décembre 2009 9 déc. 2009 à 18:07
tu fais comme ceci:
Imports System.Data.OleDb
Imports System.Data
Dans ta fonction:
dim Chemin as string = "Chemin du fichier excel"
dim strConn as string
dim objDT as New DataTable
dim objAdapter as OleDbDataAdapter
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
strConn &= "Chemin & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1;"""
dim objConn as New OleDbConnection(strConn)
objConn.Open()
If not objConn is Nothing Then
dim strSql as string = "SELECT Distinct(*) FROM [feuil1]"
objAdapter = new OleDbDataAdapter(strSql,objConn)
objAdapter.Fill(objDT)
End If
Dans ta feuille excel tu dois avoir une ligne de titre dans la ligne 1
Ensuite tu aura dans ta datatable toutes les valeurs de ta feuille sans doublon, tu peux dès lors travailler sur ta table
sanaaSooma
Messages postés46Date d'inscriptiondimanche 31 décembre 2000StatutMembreDernière intervention 9 mars 2010 10 déc. 2009 à 12:11
voila le code complet:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim Chemin As String = "D:"*****
Dim strConn As String
Dim objDT As New System.Data.DataTable
Dim objAdapter As OleDbDataAdapter
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
strConn &= Chemin & "; Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
Dim objConn As New System.Data.OleDb.OleDbConnection(strConn)
objConn.Open()****
If Not objConn Is Nothing Then
Dim strSql As String = "SELECT Distinct(*) FROM [feuil1]"
objAdapter = New OleDbDataAdapter(strSql, objConn)
objAdapter.Fill(objDT)
End If
objConn.Close()
End Sub
il me donne que le chemin est inexistant et la connection est deja ouverte
bobo10
Messages postés22Date d'inscriptionmardi 14 mars 2006StatutMembreDernière intervention11 décembre 2009 10 déc. 2009 à 12:22
Pour le problème de connexion if faut que tu mette un Try Catch pour gèrer l'erreur et dans le catch tu rajoute encore:
Finnaly
IF Not objConn is Nothing andalso objConn.State = Connexion.open
objConn.close()
objConn.Dispose()
End IF
Si la connexion est déja ouvert, cela veut dire qu'il a du trouver le fichier. Ce qu'il ne trouve peut-être pas c'est la feuille.
Vérifie le nom de la feuille excel Tab en bas et corrige si nécéssaire dans le code -> SELECT Distinct(*) FROM [Nom de la feuille]