[VBA] Problème de code!!!

Résolu/Fermé
kido87 Messages postés 39 Date d'inscription lundi 21 mai 2007 Statut Membre Dernière intervention 29 juin 2007 - 11 juin 2007 à 09:47
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 18 oct. 2011 à 13:56
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 mercredi 23 février 2005 Statut Membre Dernière intervention 15 juin 2007 55
11 juin 2007 à 09:50
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 lundi 21 mai 2007 Statut Membre Dernière intervention 29 juin 2007
11 juin 2007 à 10:03
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 lundi 21 mai 2007 Statut Membre Dernière intervention 29 juin 2007
11 juin 2007 à 14:46
En fait j'ai trouvé la solution à mon problème (Heureusement vu la foule qu'il y a!!!)
Allé merci ++
0
et donc qu'est-ce que t'as fait pour que ça fonctionne??!
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 754
18 oct. 2011 à 13:56
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