[VBA] Encore un problème avec mon code
kido87
Messages postés
39
Date d'inscription
Statut
Membre
Dernière intervention
-
kido87 Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
kido87 Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
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
- Code blocks - Télécharger - Langages
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