Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Lecture dans fichier .csv

  • Initiateur de la discussion Initiateur de la discussion cvsm
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cvsm

XLDnaute Nouveau
Boujour,
Je cherche a adapter ce code à la lecture d'un fichier .csv:

Code:
Function LitUneCellule(repertoire As String, Fichier As String, feuille As String, cellule As String)
  
Application.Volatile
  Set Cnn = New ADODB.Connection
  Cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=" & repertoire & "\" & Fichier & _
     ";Extended Properties=""Excel 12.0;HDR=No;"";"
  Set rs = Cnn.Execute("SELECT * FROM [" & feuille & "" & cellule & ":" & cellule & "]")
  LitUneCellule = rs(0)
  rs.Close
  Cnn.Close
  Set rs = Nothing
  Set Cnn = Nothing

End Function

Merci d'avance
 
Re : Lecture dans fichier .csv

Le code marche pour des fichiers .xls mais pas pour des fichiers .csv. Je pense qu'il faudrait adapter la ligne "exented propreties" et la ligne "Data source". Mais je n'arrive pas a trouver la bonne combinaison.
 
Re : Lecture dans fichier .csv

Re,

en s'inspirant de ce site :
Ce lien n'existe plus
tu pourras trouver des chaines de connexion à des fichiers texte ou csv
par contre, pas de notion de feuilles ni de plages de cellules dans un fichier texte ou csv, donc il va falloir expliquer quel est ton critère de recherche dans le fichier pour retrouver la ou les valeurs qui t'intéressent
 
Re : Lecture dans fichier .csv

Bonjour Marc😱le forum
je me suis jeté sur le lien mais c'est un cadeau empoisonné, tout en anglais !!!
oui je sais il faut faire des efforts mais !!!
a+
Papou😱
 
Re : Lecture dans fichier .csv


Je pense que ca doit être possible d'utiliser Microsoft.ACE.OLEDB.12.0, parceque le Text Driver génère une erreur chez moi.
Le programme devra effectuer deux opérations: une simple lecture de cellule dans le fichier, une lecture de colonne puis calcul. je réalisais ces deux opérations par l'intermédiare de cette ligne:
Code:
Set rs = Cnn.Execute("SELECT * FROM [" & feuille & "" & cellule & ":" & cellule & "]")

La complication vient du fait que le fichier utilise des points, donc pour le calcul afin d'éviter les erreurs, j'utilisais ces lignes:
Code:
 'remplace les points par une ,
 Sheets("temp1").Cells.Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder _
  :=xlByRows, MatchCase:=False
  
'converti le texte en nombre
Dim R As Range
Dim var
Dim i&
Dim X
Set R = Range(Sheets("temp1").[A1], Sheets("temp1").[A65536].End(xlUp))
var = R
For i& = 1 To UBound(var, 1)
  If Not IsDate(X) Then X = Val(var(i&, 1))
  If X <> 0 Then var(i&, 1) = CDbl(X)
Next i&
R = var
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…