Erreur VBA avec Select
Bonjour , je travaille actuellement sur une boucle qui irais chercher des données dans des fichiers .CSV
le problème étant que je n'arrive pas à copier / coller les données du fichier .CSV dans ma base de données
Sub fonction2()
Dim Chemin As String, NomFichier As String
Dim wBD, wFichierVision As Workbook
Dim wBD_feuille, wFV_feuille As Worksheet
Dim stp, colone As Integer
Application.ScreenUpdating = False
Set wBD = ThisWorkbook
Set wBD_feuille = wBD.Sheets(1)
'-------Définition de l'emplacement fichier et du fichier à traiter-------
Chemin = "C:\Users\toto\Desktop\Vision\"
NomFichier = Dir(Chemin & "*.csv*")
'------Boucle analyse fichier------
Do While Len(NomFichier) > 0
Set wFichierVision = Workbooks.Open(Chemin & NomFichier)
Set wFV_feuille = wFichierVision.Sheets(1)
wFV_feuille.Range("A1", "A20").Copy
wBD_feuille.Select
wBD_feuille.Range("A1", "A20").PasteSpecial (xlPasteValues)
wFichierVision.Close SaveChanges:=False
NomFichier = Dir
Loop
End Sub
les données des fichiers à trouver sont sous la forme suivantes :
1,2,3,4,5,6,7,8,9,,70,,88,,,,10
merci de votre aide.
Bonjour Arkanos, si j'ai bien compris ton problème se situe au niveau de la copie des données du fichier source (wFV_feuille) vers le fichier de base de données à alimenter (wBD_feuille).
donc ce morceau de code :
wFV_feuille.Range("A1", "A20").Copy
wBD_feuille.Select
wBD_feuille.Range("A1", "A20").PasteSpecial (xlPasteValues)
en VBA, il faut généralement éviter au maximum les copier coller. Dans ton cas on peut remplacer les 3 lignes ci-dessus par une boucle, voici un exemple de ce que ça pourrait donner avec une boucle For :
For i = 1 to 20
wBD_feuille.Cells(i,1) = wFV_feuille.Cells(i,1)
Next iLa valeur max de "i" doit être adaptée, sa valeur peut également être une variable défini par une NBCAR.