kido87
Messages postés39Date d'inscriptionlundi 21 mai 2007StatutMembreDernière intervention29 juin 2007
-
22 juin 2007 à 08:50
kido87
Messages postés39Date d'inscriptionlundi 21 mai 2007StatutMembreDernière intervention29 juin 2007
-
22 juin 2007 à 10:00
Bonjour à tous, je suis novice en VBA et dans le cadre de mon stage je doit faire une application d'importation de fichier Excel vers une base de données Access. Enfin bref, j'aimerai savoir comment déclarer un type AutoIncrément, en l'occurence dans le code qui suit Num_projet.
Voici mon code:
Sub Cmd_Importation_Click()
'On Error GoTo err
Dim Num_agent As Integer 'AutoIncrement(pas de numéro d'agent)
'Dim Nom_projet
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)
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 22 juin 2007 à 08:57
salut,
si Num_Projet est le numéro qui doit s'incrémenter de 1, à chaque fois que tu exécutes ce code, il te suffit de placer cette valeur dans ton fichier Excel.
Tu choisis une cellule (faut être sûr qu'elle ne se fasse pas effacer), au pire, tu mets la couleur d'écriture à blanc, et dès que ce code s'effectue, tu lis la cellule en question, tu l'augmentes de 1, tu t'en sers pour ta variable, et remplace Call MonClasseur.Close(False) par Call MonClasseur.Close(TRUE)
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 22 juin 2007 à 09:43
SAlut,
Moi qui suit aussi l'autre discution, pourquoi continues tu à récupérer tes données dans une variable et à en insérer des autres (meme pas déclarées)
Choses que je t'avais déjà dit.
est ce que ton code n'a pas évoluer depuis l'autre discution... mais alors à quoi serve les conseils que tu peux recevoir...
kido87
Messages postés39Date d'inscriptionlundi 21 mai 2007StatutMembreDernière intervention29 juin 2007 22 juin 2007 à 09:49
Mais il suffit juste d'enlever values ('" & VNum_projet & "','" & VSemaine_realisation
& "','" & VMetier & "','" & VProjet & "','" &
VDescription & "','" & VTache & "','" & VTemps_passe
& "');" c'est ce que tu m'a dis, il n'y a pas de soucis. Je ne pense que cela est avoir avec l'autoIncrément
merci de ta reponse
Vous n’avez pas trouvé la réponse que vous recherchez ?
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 22 juin 2007 à 09:52
Salut,
Je ne dit pas que ca a quelques chose à voir, je dit que ton programme n'évolue pas alors qu'il devrait déjà corriger un certains nombres d'erreurs. voila tout.