[VBA] Parcours de dossier et importation de feuilles Excel

kev29180

XLDnaute Nouveau
Bonjour à tous !

Je vous sollicite pour un problème VBA que je n'arrive pas à résoudre.. J'espère que vous allez pouvoir m'aider et vous remercie par avance de m'accorder de votre temps !

Voilà le problème :
J'essaie de développer un mini-programme. La première étape est une étape d'importation de 2 feuilles de données (minimum). Une première fenêtre s'ouvre à l'utilisateur dans laquelle il va devoir choisir le moyen d'importer LES DEUX SOURCES DE DONNEES.

Il peut choisir, pour la premiere source, de parcourir ses fichiers pour trouver ses données ou alors de copier/coller directement dans le classeur.Idem pour la seconde.

Dans le cas du Parcours de fichier, lorsqu'il sélectionne un document excel, une deuxième boite de dialogue s'ouvre en lui demandant à quelle feuille se situent ses données.

Si l'utilisateur choisit de parcourir deux fois pour importer ses deux jeux de données, le second sélectionné écrase l'autre (il me semble).

Je ne suis pas sûr d'être clair mais voici le code qui vous parlera peut-être plus :

Code:
'recopiage des données

If TB_Parcourir.Text <> "" Then

            Workbooks.Open fileName:=UF_Importation2.TB_Parcourir.Text      
            Sheets(Int(UF_Selecfeuille.TB_Entrernuméro.Value)).Select
            Application.DisplayAlerts = False            
            Sheets(Int(UF_Selecfeuille.TB_Entrernuméro.Value)).Copy Before:=ThisWorkbook.Sheets(1) 
            UF_Importation2.Hide                              
            MsgBox "Les données 1 ont bien été importées !"

            Sheets(1).Select
            Sheets(1).Name = "Données 1"

        End If
              
        'Jury 2
              
        If TB_Parcourir2.Text <> "" Then

            Workbooks.Open fileName:=UF_Importation2.TB_Parcourir2.Text   
            Sheets(Int(UF_Selecfeuille.TB_Entrernuméro.Value)).Select
            Application.DisplayAlerts = False            
            Sheets(Int(UF_Selecfeuille.TB_Entrernuméro.Value)).Copy Before:=ThisWorkbook.Sheets(2)   
            UF_Importation2.Hide                             
            MsgBox "Les données 2 ont bien été importées !"
            
            Sheets(2).Select
            Sheets(2).Name = "Données 2"

        End If
    
End Sub

J'imagine que le problème vient du "Before:=ThisWorkbook.Sheets mais je n'arrive pas à corriger le problème...

Merci encore !
 
Dernière édition:

Bebere

XLDnaute Barbatruc
Re : [VBA] Parcours de dossier et importation de feuilles Excel

bonjour Kev
essaye ce code
Workbooks.Open Filename:=UF_Importation2.TB_Parcourir.Text
ce qui suit sur une ligne
ActiveWorkbook.Sheets(Int(UF_Selecfeuille.TB_Entrernuméro.Value)).Copy Before:=ThisWorkbook.Sheets(1)

normalement comme suit ouvre un nouveau classeur et y met la copie
ActiveWorkbook.Sheets(Int(UF_Selecfeuille.TB_Entrernuméro.Value)).Copy
 

Discussions similaires

Statistiques des forums

Discussions
312 361
Messages
2 087 627
Membres
103 608
dernier inscrit
rawane