rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[VBA] Probleme code avec la boite de dialogue

  Posté par kido87, le mercredi 20 juin 2007 à 09:13:56
Bonjour à tous, j'ai un problèle avec mon code et plus particulièrement avec ma boite de dialogue. Il se trouve que j'ai une erreur au niveau de mon
With CDialog

Voici mon code( code servant à importer des données excel dans une base de données Access)==> je précise je suis débutant en VBA:

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

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 dialogue



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'application EXCEL
Set xls = New Excel.Application

'Ouverture du classeur Excel choisi plus haut par l'utilisateur
Set MonClasseur = xls.Workbooks.Open(NomDuFichier)

'Affectation de l'objet feuille
Set MaFeuilleDeDonnees = MonClasseur.Worksheets(1)
Call MsgBox("Le classeur d'importation est ouvert", vbInformation Or vbOKOnly)

'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)
   With MaFeuilleDeDonnees
       Do While Not IsEmpty(.Range("A" & CStr(j)))
       
           'Recuperations des données lignes par lignes
           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
           
           j = j + 1
       Loop
   End With
 
   'Fermeture du classeur d'Importation
   'False = pas sauvegarder les changements
   Call MonClasseur.Close(False)
   'Quitter l'application 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



Voila j'ai l'erreur suivante au niveau de mon With CDialog:

Erreur d'execution'429':
Un composant ActiveX ne peut pas creer d'objet

Par avance merci de votre aide
Configuration: Windows XP
Firefox 2.0.0.4
Répondre à kido87  Signaler ce message aux modérateurs
Logiciels pertinents trouvés dans les téléchargements
Télécharger Vista Codec Package 4.7.2Vista Codec Package - Vista Codec Package regroupe une collection impressionnante de codecs (audio et vidéo), permettant d'ouvrir la plupart...Catégorie: Codecs
Licence: Freeware/gratuit
Télécharger DivX codecs 6.8.3DivX codecs - Le codec Divx Community est gratuit pour un usage personnel et permet de lire les fichiers au format DivX ! L'installeur...Catégorie: Codecs
Licence: Freeware/gratuit
Télécharger K-Lite Codec Pack Full 4.0.0K-Lite Codec Pack Full - K-Lite Codec Pack est une collection de codecs et de filtres nécessaires pour encoder ou décoder des formats audio ou vidéo....Catégorie: Codecs
Licence: Open Source
Télécharger K-Lite Mega Codec Pack 4.0.0K-Lite Mega Codec Pack - K-Lite Codec Pack est une collection de codecs et de filtres nécessaires pour encoder ou décoder des formats audio ou vidéo....Catégorie: Codecs
Licence: Open Source
Plus de logiciels gratuits sur « [VBA] Probleme code avec la boite de dialogue »