[VBA] Encore un problème avec mon code
kido87
Messages postés
39
Statut
Membre
-
kido87 Messages postés 39 Statut Membre -
kido87 Messages postés 39 Statut Membre -
Bonjour à tous. Voila j'ai un petit problème avec mon code. Il s'arrete au niveau de l'ouverture du classeur d'importation, il ne rentre dans la suite. Si quelqu'un pouvait m'aider.... voici mon code
D'avance merci
++
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 NomDuFichier 'Nom du fichier à importer (insertion des cellule Excel)
NomDuFichier = InputBox("Entrez le nom du fichier à importer ")
If (NomDuFichier <> "") Then
MsgBox NomDuFichier
Else
réponse = MsgBox("Nom du fichier à importer manquant", vbExclamation + vbOKOnly, "Attention !!!")
Exit Sub
End If
Set Dbs = CurrentDb 'CurrentDb ==> Suivi_activites
Set NomDuFichier = CreateObject("Excel.application")
'Initialisation du fichier a Importer
Rsg = NomDuFichier
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 : ")
If (Rsg <> "") Then
MsgBox Rsg
End If
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
NomDuFichier.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 NomDuFichier.Cells(j, 1) <> ""
'Recuperations des données lignes par lignes
Semaine_realistion = NomDuFichier.Cells(j, 3)
Metier = NomDuFichier.Cells(j, 4)
Projet = NomDuFichier.Cells(j, 5)
Activite_realisee = NomDuFichier.Cells(j, 6)
Temps_passe = NomDuFichier.Cells(j, 7)
Avancement = NomDuFichier.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
NomDuFichier.Workbooks.Close
MsgBox ("Le classeur d'importation est fermé")
MsgBox (" Importation des données effectuée ")
Exit Sub
err:
NomDuFichier.Workbooks.Close
End Sub
D'avance merci
++
A voir également:
- [VBA] Encore un problème avec mon code
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Scanner qr code pc - Guide
5 réponses
a mon avis, VBA n'accepte déjà pas les accents dans les noms de variables (réponse=)
c'est un début
Irem
c'est un début
Irem
Non le problème n'est pas la mon réponse= marche très bien. C'est au niveau de l'ouverture du classeur d'imporatation:
'Ouverture du classeur d'Importation
NomDuFichier.Workbooks.Open Pathfic & NomFic
MsgBox ("Le classeur d'importation est ouvert")
merci de ta réponse^^
'Ouverture du classeur d'Importation
NomDuFichier.Workbooks.Open Pathfic & NomFic
MsgBox ("Le classeur d'importation est ouvert")
merci de ta réponse^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question