[VBA] Problème de code!!!

Résolu
kido87 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous, J'ai quelques petits soucis avec mon code VBA.
Ce que je dois faire: -importer des donnés d'une feuille excel vars une base de données access.
Je voudrais que l'utilisateur tape lui meme tout les parametres mais voila j'ai un problème avec ce qui suit:
Set Rsg = CreateObject("Excel.application")
Rsg.Workbooks.Open Pathfic & NomFic
Rsg.Workbooks.Close

Je vous montre mon code

    Sub Cmd_Importation_Click()
     On Error GoTo err
     
     Dim Num_agent As Integer 'AutoIncrement(pas de numéro d'agent)
     Dim Nom_agent As String 'Nom de l'agent
     Dim Num_projet As Integer 'AutoIncrement (pas de numéro de projet)
     Dim Semaine_realisation As String 'numéro de la semaine de réalisation
     Dim Metier As String 'Métier
     Dim Projet As String 'Nom du projet
     Dim Description As String 'description de l'activité réalisée
     Dim Tache As String 'Avancement (en pourcentage ou terminé)
     Dim Temps_passe As Integer 'Temps_passé sur le projet (en h)
                                                                                          
     Dim SQL As String 'Variable qui permet de créer une table
     Dim Text1 As String 'Variable qui va contenir le nom du fichier à importer
     Dim Text2 As String 'Variable qui va contenir l'emplacement du fichier à importer
     Dim Text3 As String 'Variable qui va contenir le nom de la table d'importation n°1
     Dim Text4 As String 'Variable qui va contenir le nom de la table d'importation n°2
     Dim NomFic As String 'Nom du fichier à importer
     Dim Pathfic As String 'Emplacement du fichier à importer
     Dim NomTable As String 'Nom de la table d'importation n°1
     Dim NomTable2 As String 'Nom de la table d'importation n°2
     Dim j As String 'Compteur
     Dim xls As Excel.Application 'Excel
     Dim Rsg As String 'Renseignement de la boite de dialogue, rentré par l'utilisateur
     'Dim ClasseurXLS As String 'Nom du fichier à importer (insertion des cellule Excel)
     
          
     Set Dbs = CurrentDb 'CurrentDb ==> Suivi_activites
          
     Rsg = InputBox("Entrez le nom du fichier à importer ", "Text1")
     If (Rsg <> "") Then
     MsgBox Rsg
     End If
          
     
     Set Rsg = CreateObject("Excel.application")
     
     
     'Initialisation du fichier a Importer
     'Text1 = "Suivi_activites_LESTERPT"
     'Rsg = InputBox("Entrez le nom du fichier à importer : ", "Text1")
     'MsgBox Rsg
     Text1 = Rsg
     ClasseurXLS = Rsg
     If (Text1 <> "") Then
     NomFic = Text1
     NomFic = NomFic & ".xls"
     Else
     réponse = MsgBox("Nom du fichier à importer manquant", vbExclamation + vbOKOnly, "Attention !!!")
     Exit Sub
     End If
         
     
     'Initialisation Emplacement à importer
     Rsg = InputBox("Entrez l'emplacement à importer  : ", "Text2")
     MsgBox Rsg
     Text2 = Rsg
     If (Text2 <> "") Then
     Pathfic = Text2
     Else
     réponse = MsgBox("Emplacement du fichier à importer manquant", vbExclamation + vbOKOnly, "Attention !!!")
     Exit Sub
     End If
     
     
     'Initialisation Nom de la table d'importation n°1
     Text3 = "Projets"
     If (Text3 <> "") Then
     NomTable = Text3
     Else
     réponse = MsgBox("Nom de la table d'importation manquant", vbExclamation + vbOKOnly, "Attention !!!")
     Exit Sub
     End If
     
     'Initialisation Nom de la table d'importation n°2
     Text4 = "Agents"
     If (Text4 <> "") Then
     NomTable2 = Text4
     Else
     réponse = MsgBox("Nom de la table d'importation n°2 manquant", vbExclamation + vbOKOnly, "Attention !!!")
     Exit Sub
     End If
     
     
     'Ouverture du classeur d'Importation
                                                                                                            
     Rsg.Workbooks.Open Pathfic & NomFic
     MsgBox ("Le classeur d'importation est ouvert")
          
     'Creation des tables d'importation
     
     SQL = "create table " & NomTable & "(Num_projet integer, Semaine_realisation string, Metier string, Projet string, Description string, Tache string, Temps_passe integer)"
     Dbs.Execute SQL
     SQL = "create table " & NomTable2 & "(Num_agent integer, Nom_agent string, Num_projet integer)"
     Dbs.Execute SQL
     MsgBox ("Tables d'importation crées")
     
     j = 5 'on initialise j à 5 (Cellules vides avant la ligne 5)
     Do While ClasseurXLS.Cells(j, 1) <> ""
     'Recuperations des données lignes par lignes
     'Num_agent = Suivi_activites_LESTERP.cells (j, 1)
     'Nom_agent = Suivi_activites_LESTERPT.Cells(j, 1)
     Semaine_realistion = ClasseurXLS.Cells(j, 3)
     Metier = ClasseurXLS.Cells(j, 4)
     Projet = ClasseurXLS.Cells(j, 5)
     Activite_realisee = ClasseurXLS.Cells(j, 6)
     Temps_passe = ClasseurXLS.Cells(j, 7)
     Avancement = ClasseurXLS.Cells(j, 8)
     'Insertion des données dans la table
     SQL = "INSERT INTO NomTable (Num_projet, Semaine_realistion, Metier, Projet, Description, Tache, Temps_passe) values ('" & VNum_projet & "','" & VSemaine_realisation & "','" & VMetier & "','" & VProjet & "','" & VDescription & "','" & VTache & "','" & VTemps_passe & "');"
     Dbs.Execute SQL
     SQL = "INSERT INTO NomTable2 (Num_agent, Nom_agent, Num_projet) values ('" & VNum_agent & "','" & VNom_agent & "','" & VNum_projet & "');"
     Dbs.Execute SQL
     j = j + 1
     Loop
     
                                                                                          
    
     'Fermeture du classeur d'Importation
     Rsg.Workbooks.Close
     MsgBox ("Le classeur d'importation est fermé")
     
     
     MsgBox (" Importation des données effectuée ")
     Exit Sub
     
err:
     Rsg.Workbooks.Close
     End Sub
     
 


PS: Je suis débutant en VBA!!!
Si vous pouviez tester et me donner vos suggestions, ce serait simpa!
Merci de votre aide
A bientot
A voir également:

3 réponses

Pool Orion Messages postés 124 Date d'inscription   Statut Membre Dernière intervention   55
 
Salut,

Je n'ai pas regardé ton code pour une simple raison, je n'ai pas saisi ton problème !
Peux-tu nous en dire plus sur ce qui t'arrive sinon il nous sera impossible de t'aider ! Donne nous au minimum la description de l'erreur.
0
kido87 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention  
 
A oui ok escuse moi, c'est pas tres clair je sais.
Voici l'erreur que j'ai à chaque foi :

Erreur de compilation Objet requis.

merci
0
kido87 Messages postés 39 Date d'inscription   Statut Membre Dernière intervention  
 
En fait j'ai trouvé la solution à mon problème (Heureusement vu la foule qu'il y a!!!)
Allé merci ++
0
Artis
 
et donc qu'est-ce que t'as fait pour que ça fonctionne??!
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour Artis,
Cela m'étonnerais beaucoup que vous ayez une réponse à votre question, ce sujet datant déjà d'il y a 4 ans.
Si vous avez le même genre de souci, postez un nouveau sujet, lequel aura bien plus de chance d'obtenir une réponse adaptée.
0