VBA importer des données

Bonjour à tous,

Voilà j'ai un petit problème concernant l'import de données venant d'autres fichiers... je dois faire un programme qui permet de choisir où si situe les données que l'on voudra importer. Celle-ci seront importés dans un nouvel onglet.

Set wbdest = ActiveWorkbook
'fichier = Dir(" C:\Users\samsung\Documents\Import\*.xls ")
'Do While fichier <> " "
'Set wbsource = Workbooks.Open(fichier)
'Set wksNewSheet = wbsource.Sheets("sheet1")
'wksNewSheet.Activate
'wksNewSheet.Select
'Range(Cells(2, 1), Cells(3, 3)).Select
'Selection.Copy
'wbdest.Activate
'i = ActiveSheet.UsedRange.Rows.Count
'Cells(i + 1, 1).Select
'ActiveSheet.Paste
'wbsource.Close
'fichier = Dir
'Loop
'wbdest.Activate

J'ai essayé ce code sans succès.

Merci d'avance & bonne journée

Bonsoir

A tester

Option Explicit

Sub test()
Dim Fichier As String, Chemin As String
Dim WsDest As Worksheet

  Set WsDest = ActiveSheet
  'Chemin = "C:\Users\samsung\Documents\Import\"
  Chemin = ThisWorkbook.Path & Application.PathSeparator
  Fichier = Dir(Chemin & "*.xls")
  Do While Fichier <> ""
    If Right(Fichier, 4) = ".xls" Then
      With Workbooks.Open(Chemin & Fichier)
        With .Sheets("sheet1")
          '.Range(.Cells(2, 1), .Cells(3.3)).Copy
          .Range("A2:C3").Copy WsDest.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
        End With
        .Close
      End With
    End If
    Fichier = Dir
  Loop
End Sub

Merci pour ce code

Malheureusement quand je l'exécute rien ne se passe

Bonjour

Il peut y avoir différentes causes

Sans ton fichier maitre (celui avec la macro) et au moins 1 fichier contenant les données à récupérer cela va être difficile d' en connaitre la raison

Ci-joint les fichiers et j'ai juste mis un bouton afin de lancer le code :

Option Explicit
Private Sub CommandButton1_Click()

Dim Fichier As String, Chemin As String
Dim WsDest As Worksheet

  Set WsDest = ActiveSheet
  Chemin = "C:\Users\samsung\Documents\Import\"
 'Chemin = ThisWorkbook.Path & Application.PathSeparator
  Fichier = Dir(Chemin & "*.xls")
  Do While Fichier <> ""
    If Right(Fichier, 4) = ".xls" Then
      With Workbooks.Open(Chemin & Fichier)
        With .Sheets("sheet1")
         ' .Range(.Cells(2, 1), .Cells(3.3)).Copy
         .Range("A2:C3").Copy WsDest.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
        End With
        .Close
      End With
    End If
    Fichier = Dir
  Loop
End Sub

Bonjour à toi aussi

Pas la peine de chercher, ce sont des fichiers .csv et toi tu ne recherches que les fichiers .xls

En effet...

En modifiant le code avec cvs la feuille se copie immédiatement sur une autre feuille et non dans un autre onglet et sans que je choisisse le fichier dans le disque dur . Comment puis-je remédier à ça ?

Merci d'avance

Bonjour

choup2 a écrit :

sans que je choisisse le fichier dans le disque dur

Tu veux dire quoi ?

Tu fais une boucle pour ouvrir tous les fichiers .csv, cela veut dire que tu les choisis, mais pas individuellement en décidant d'ouvrir untel mais pas l'autre

Rechercher des sujets similaires à "vba importer donnees"