[VBA] Problème importation feuille Excel vers Access [Résolu]

Messages postés
39
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
29 juin 2007
- - Dernière réponse : kido87
Messages postés
39
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
29 juin 2007
- 29 juin 2007 à 16:12
Bonjours à tous, je suis nouveau et pas tres expérimenté en VBA.... Je suis actuellement en stage et on ma demandé de faire un petit code d'importation/convertion Excel vers Acess.
Je vous mon tre  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 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

J'ai quelques petits soucis au niveau de l'ouverture du classeur d'importation:
'Ouverture du classeur d'Importation
                                                                                                           
     NomDuFichier.Workbooks.Open Pathfic & NomFic
     MsgBox ("Le classeur d'importation est ouvert")

Voila si vous pouviez m'aider....
Par avance merci.
Afficher la suite 

20/45 réponses

Meilleure réponse
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
45
3
Merci
Salut,
Avant d'aller plus loin, je doit te dire qu'il y a des erreurs de compréhension.

Exemple
Dim NomDuFichierNomDuFichier InputBox( "Entrez le nom du fichier à importer " ) > Ici NomDuFichier est une StringSet NomDuFichier CreateObject( "Excel.application" )               > ICi cela va devenir une appli Excel

Pas tres logique tout ca.

Si tu veux ouvrir le classeur NomDuFichier
Dim xls As Excel.Application 'Excel
       Dim MonClasseur As Excel.Workbook ' Le classeur
       Set xls = New Excel.Application
       'Si NomDuFichier est un chemin valide de classeur (pas verifiée)
       Set MonClasseur = xls.Workbooks.Open(NomDuFichier)
       'ou bien au vu du bas de ton post
       Set MonClasseur = xls.Workbooks.Open(Pathfic & NomFic)
       'Si il n'existe et que tu veux le créer
       Set MonClasseur = xls.Workbooks.Add
       Call MonClasseur.SaveAs(Pathfic & NomFic), ----
[code.aspx?ID=41455 By Renfield]

Dopnc en fait tout dépends de ce que tu souhaites faire exactement. il te faut donc mieux préciser.

@+: Ju£i?n
Pensez: Réponse acceptée

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jrivet
Messages postés
39
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
29 juin 2007
3
Merci
Pour le NomDuFichier, ce que je voulais en fait, c'est que l'utilisateur entre le nom du fichier à importer, donc me servir du nom entrer pour apres ouvrir ce fichier...

Petite précision mon code s'arrete et ne rentre pas a l'ouverture du classeur d'importation.

Merci de ta réponse jrivet, mais ça ne marche toujours pas

Par avance merci!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de kido87
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
45
3
Merci
Salut,
As tu fais des modifications, si oui remets le code.

Si tu veux que l'utilisateur entre un chemin de fichier, pourquoi ne pas utiliser le CommonFileDialog pour la selection du fichier?

Essaie de décrire la procédure au mieux Car je ne comprends toujours pas exemple:

1- Choisir un Fichier .Xls
2- L'ouvrir ...
3-

...

@+: Ju£i?n
Pensez: Réponse acceptée

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jrivet
Messages postés
39
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
29 juin 2007
3
Merci
Ben en fait je n'ai pas untilisé CommonFileDialog tout simplement parce que je ne connais pas... j'ai commencé VBA il y a 1 semaine... Pourrais-tu m'expliquer ton CommonFileDialog stp?

    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)
     Dim MonClasseur As Excel.Workbook 'Le classeur
    
     Set xls = New Excel.Application
    
           
     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
     Set MonClasseur = xls.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
    
 
Merci de me préondre

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de kido87
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
45
3
Merci
Re,
Ok je vais essayer de te faire un ptit code d'exemple en suivant au mieux l'idée du code existant.
NOTE: Tu développes avec ACCESS c'est bien cela?

@+: Ju£i?n
Pensez: Réponse acceptée

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jrivet
Messages postés
39
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
29 juin 2007
3
Merci
Ah ouai merci c'est sympas!
Effectivement je développe sous Access.

Merci pour ta réponse et ton futur code!!!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de kido87
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
45
3
Merci
Salut,
Derniere question
Dans le fichier Excel, dans quelle feuille sont les données? c'est très important de le savoir.

De plus comment faire si le fichier selectionné est un fichier contenant des données "correctes"

@+: Ju£i?n
Pensez: Réponse acceptée

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jrivet
Messages postés
39
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
29 juin 2007
3
Merci
Dans le fichier excel les données se trouvent toujours dans la feuille 1 et que uniquement dans la feuille 1.
Par contre qu'est ce que tu entant par données "correct"?

Merci

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de kido87
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
45
3
Merci
Re,
Ce que j'entends par correct c'est par exemple des fichiers Excel contenant des données dans la feuille 1 mais qui ne corresponde pas à ce que tu veux insérer dans les tables

@+: Ju£i?n
Pensez: Réponse acceptée

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jrivet
Messages postés
39
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
29 juin 2007
3
Merci
Ok, ben les données se trouvant sur la feuille 1 corespondent obligatoirement à ce qui est inseré dans les tables. Mais si effectivement elles ne correspondent pas (ce qui est tres improbable) je n'ai pas reflechi à ce probleme...
Mais honnetement les données doivent corespondres.

Merci

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de kido87
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
15
3
Merci
Une fois les problèmes de base réglés, tu pourrais regarder du côté de
DoCmd.TransferSpreadsheet

Ça pourrait aider...

MPi

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_MPi
Messages postés
39
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
29 juin 2007
3
Merci
Oui j'avais déjà regarder de ce coté là mais ça n'avais pas donné grand chose, je ne pense pas que ce soit la méthode la plus approprié à ce que l'on me demande de réaliser (ça n'est que mon avis de débutant...)
Mais merci de ta reponse MPI

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de kido87
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
45
3
Merci
Salut,
A ben j'allais le dire pour oCmd.TransferSpreadsheet
[auteurdetail.aspx?ID=1090549 kido87]: LIT BIEN MES COMMENTAIRES
Le code suivant ne fonctionen surement pas sans petites modifications mais il te montre la facon de procéder

'Depuis l'IDE VBA
'Menu Outils => Références => Microsoft Common Dialog Control 6.0 (SP6)
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 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 Integer 'Compteur => UN COMPTEUR N A PAS A ETRE DE TYPE STRING

Dim NomDuFichier 'Nom du fichier à importer (insertion des cellule Excel)
Dim xls As Excel.Application    'Excel
Dim MonClasseur As Excel.Workbook 'Le classeur
Dim MaFeuilleDeDonnees As Excel.Worksheet 'la Feuille
Dim CDialog As New MSComDlg.CommonDialog 'la boite de dialog
   
   
   With CDialog
       'Répertoire d'ouverture
       .InitDir = "C:\"
       'Filtre sur les Classeur Excel
       .Filter = "*.xls Classeur Excel|*.xls"
       'Montre la boite de dialogue ouverture de fichier
       .ShowOpen
       'Récupère le CHEMIN ET LE NOM choisi
       NomDuFichier = .FileName
   End With
   If NomDuFichier = vbNullString Then
       Call MsgBox("Veuillez sélectionner un fichier", vbExclamation Or vbOKOnly, "Attention !!!")
       Exit Sub
   End If
   
              Set Dbs CurrentDb 'CurrentDb> Suivi_activites
       
   'Initialisation Nom de la table d'importation n°1
   NomTable = "Projets"
   'Initialisation Nom de la table d'importation n°2
   NomTable2 = "Agents"
       
   'Ouverture de l'appli EXCEL
   Set xls = New Excel.Application
   'OUverture du classeur Excel Choisi plus haut
   Set MonClasseur = xls.Workbooks.Open(NomDuFichier)
   'Affectation de notre objet Feuille
   Set MaFeuilleDeDonnees = MonClasseur.Worksheets(1)
   Call MsgBox("Le classeur d'importation est ouvert", vbInformation Or vbOKOnly)
   
   'Creation des tables d'importation
   'ATTENTION Num_projet n'est pas autoincrément
   'ATTENTION QUE SE PASSE T IL SI LES TABLES EXISTENT DEJA
   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")
   'REGARDER DE CE COTE CAR PEU ETRE PLUS SIMPLE
   'Call DoCmd.TransferSpreadsheet(acImport, acSpreadsheetTypeExcel9, "Projets", NomDuFichier)
       
   j = 5 'on initialise j à 5 (Cellules vides avant la ligne 5)
   With MaFeuilleDeDonnees
       Do While Not IsEmpty(.Range("A" & CStr(j)))
           'Recuperations des données lignes par lignes
           'ATTENTION IL SEMBLE QU'IL TE MANQUE DES DONNEES
           'OU BIEN QU'ELLE NE CONCORDES PAS AVEC LA TABLE
           Semaine_realisation = .Range("C" & CStr(j)).Value
           Metier = .Range("D" & CStr(j)).Value
           Projet = .Range("E" & CStr(j)).Value
           Activite_realisee = .Range("F" & CStr(j)).Value
           Temps_passe = .Range("G" & CStr(j)).Value
           Avancement = .Range("H" & CStr(j)).Value
           'Insertion des données dans la table
           SQL = "INSERT INTO" & NomTable & " (Num_projet, Semaine_realistion, Metier, Projet," & _
           "Description, Tache, Temps_passe) VALUES ('" & Num_projet & "','" & Semaine_realisation & "','" _
           & Metier & "','" & Projet & "','" & Description & "','" & Tache & "','" & Temps_passe & "');"
           Dbs.Execute SQL
           'POURQUOI INSERER SI PAS RECUPERER LES DONNEES RELATIVES AU AGENTS
   '        SQL = "INSERT INTO NomTable2 (Num_agent, Nom_agent, Num_projet) values ('" & VNum_agent & "','" & VNom_agent & "','" & VNum_projet & "');"
   '        Dbs.Execute SQL
           j = j + 1
       Loop
   End With
 
   'Fermeture du classeur d'Importation
   'False = pas sauvegarder les changements
   Call MonClasseur.Close(False)
   'Quitte l'appli Excel
   Call xls.Quit
   MsgBox ("Le classeur d'importation est fermé")
   MsgBox (" Importation des données effectuée ")
   
   
err:
   'Destruction des objets
   Set xls = Nothing
   Set MonClasseur = Nothing
   Set MaFeuilleDeDonnees = Nothing
   Set CDialog = Nothing
   
End Sub<hr />    

, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jrivet
Messages postés
39
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
29 juin 2007
3
Merci
ahh!!! Merci te ta réponse et de ton code je vais tester, et m'appuyer sur ton code. Merci beaucoup, je vais tester tout a l'heure. je te tiens au courant.
Merci encore à ceux qui ont repondus
++

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de kido87
Messages postés
39
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
29 juin 2007
3
Merci
Oui c'est encore moi, je suis en train d'exploiter ton code qui est exellent mais il se trouve que j'ai un petit soucis avec:
Dim CDialog As New MSComDlg.CommonDialog

j'ai une erreur:
erreur de compilation:
type défini par l'utilisateur non défini

si tu pouvais m'aider, merci!!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de kido87
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
1
3
Merci
petit conseil : le plus facil pour importer c'est la commande TransferSheets tien pour plus de renseignement, jte donne le site qui m'a aidé à exécuter une importation :
http://officesystem.access.free.fr/vba/copierversexcel.htm

voila, courage!!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de loic20h28
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
45
3
Merci
Re,
Est ce que tu as lu mon premier commentaire????

'Depuis l'IDE VBA
'Menu Outils => Références => Microsoft Common Dialog Control 6.0 (SP6)

@+: Ju£i?n
Pensez: Réponse acceptée

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jrivet
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
45
3
Merci
Re,
Note; si il n'est pas dans la liste proposé, va le chercher avec parcourir c'est comdlg32.ocx

@+: Ju£i?n
Pensez: Réponse acceptée

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jrivet
Messages postés
39
Date d'inscription
lundi 21 mai 2007
Statut
Membre
Dernière intervention
29 juin 2007
3
Merci
ouai c'était ça je les trouver avec parcourir. Maintenant je n'ai plus d'erreur mais le code ne fait rien....
merci

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de kido87
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
45
3
Merci
Salut,
Comment ca il ne fait rien... (toujours penser à décrire son problème le mieux possible)
Je ne l'ai pas écrit comme ca sans le testé.

CHEZ MOI
J'ai résussi à choisir un fichier avec la boite de dialogue, à creer les tables a ouvrir le classeur, mais pour la boucle de données, il faut que tu lises mes commentaires car ta récupération de données n'est pas "LOGIQUE" par rapport au données à insérer dans les tables.

@+: Ju£i?n
Pensez: Réponse acceptée

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jrivet