[VBA] Problème de code!!!
Résolu
kido87
Messages postés
39
Statut
Membre
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 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
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
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:
- [VBA] Problème de code!!!
- Code ascii - Guide
- Code puk bloqué - Guide
- Code de déverrouillage oublié - Guide
- Code activation windows 10 - Guide
- Scanner qr code pc - Guide
3 réponses
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.
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.
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
Voici l'erreur que j'ai à chaque foi :
Erreur de compilation Objet requis.
merci
En fait j'ai trouvé la solution à mon problème (Heureusement vu la foule qu'il y a!!!)
Allé merci ++
Allé merci ++