Fichier vb texte

Résolu/Fermé
fab101 Messages postés 139 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 27 septembre 2010 - 3 janv. 2005 à 13:27
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 4 janv. 2005 à 19:15
Posté le: Lun Jan 03, 2005 3:58 Sujet du message: fichier

--------------------------------------------------------------------------------

bonjour a tous et a toute et bonne annee

voila j'ai fait des fichier texte qui sont des log

voici le code du programme
Function importexcel(myname As String) 


Dim plage As Range 
Dim array1 As Variant 

Dim db1 As DAO.Database 

Dim rs1 As DAO.Recordset 

Dim appexcel As Excel.Application 
Dim wbexcel As Excel.Workbook 

'creer l'objet excel 
Set appexcel = CreateObject("excel.application") 
appexcel.Visible = True 
'ouvre le fichier excel 
Set wbexcel = appexcel.Workbooks.Open(myname) 
'ouvre la feuille de calcul à l'interieur du fichier 
appexcel.Sheets("feuil1").Select 
Set plage = appexcel.Worksheets("feuil1").Range("a1").CurrentRegion.Offset(0, 0) 
'ouverture de la base de données image.mdb 

Set db1 = CurrentDb() 
'definitiion de rs1 qui est la table screening _report 

Set rs1 = db1.OpenRecordset("screening_report", dbOpenDynaset) 
'un objet recordset representent les enregistrements d'une table 

array1 = plage.Value 

'importation des données d'excel vers access 
'avec le recordset rs1 

With rs1 

.AddNew 
'le champs titre recoit l'information de la cellule 2, 3 
'pour la cellule on prend d'abord la ligne puis la colonne 

.Fields("num_cassette") = "2" 

.Fields("title") = plage.Cells(3, 2) 

.Fields("distributor") = plage.Cells(3, 5) 
.Fields("country") = plage.Cells(3, 6) 
.Fields("prod") = plage.Cells(4, 5) 
.Fields("country1") = plage.Cells(4, 6) 
.Fields("year") = plage.Cells(5, 5) 
.Fields("format") = plage.Cells(5, 6) 
.Fields("genre") = plage.Cells(6, 5) 
.Fields("shoot_lang") = plage.Cells(6, 6) 
.Fields("theme") = plage.Cells(7, 5) 
.Fields("synopsis") = plage.Cells(8, 2) 
.Fields("general_synopsis") = plage.Cells(9, 2) 
'.Fields("general_synopsis2") = plage.Cells(9, 2) 

.Fields("rating_Program") = plage.Cells(10, 2) 
.Fields("notes_program") = plage.Cells(10, 6) 
.Fields("story_quality") = plage.Cells(11, 2) 
.Fields("image_quality") = plage.Cells(12, 2) 
.Fields("treatment_quality") = plage.Cells(11, 4) 
.Fields("youth_audience_adequation") = plage.Cells(12, 4) 
.Fields("panarab_audience_adequation") = plage.Cells(11, 6) 
.Fields("educational_goals_adequation") = plage.Cells(12, 6) 
.Fields("comments1") = plage.Cells(13, 2) 
.Fields("positive_points") = plage.Cells(17, 2) 
.Fields("negative_points") = plage.Cells(12, 6) 
.Fields("debate_themes") = plage.Cells(19, 2) 
.Fields("educational_benefit") = plage.Cells(20, 2) 
.Fields("programming") = plage.Cells(21, 2) 
.Fields("age_group") = plage.Cells(22, 2) 
.Fields("gender") = plage.Cells(23, 2) 
.Fields("time") = plage.Cells(24, 2) 
.Fields("period") = plage.Cells(25, 2) 
.Fields("previous_runs") = plage.Cells(26, 2) 
.Fields("lII_recomendation") = plage.Cells(30, 2) 
.Fields("Final_format") = plage.Cells(36, 5) 
.Fields("acquisition") = plage.Cells(31, 2) 
.Fields("modifications") = plage.Cells(32, 2) 

.Fields("dubbing") = plage.Cells(33, 2) 

.Fields("production") = plage.Cells(34, 2) 

.Fields("doha_acquisition_decision") = plage.Cells(35, 2) 

.Fields("dubbing_company") = plage.Cells(35, 2) 
plage.Select 

.Update 
'le champs est mis à jour 

End With 

appexcel.Workbooks.Close 
'fermeture de la feuille de données 

db1.Close 
'fermeture de la base de données image 

appexcel.Quit 
'fermeture du fichier 

End Function 

 




ppour chaque field je fais la comparaison suivante
Code:

If Plage.Cells(1, 2) = .Fields("lieu") Then
'si tout les caracteres sont contenu alors ecriture dans le fichier log que l'importation a reussi
Log "c:\excel\fichierlog.log", "l'importation de la cellule 2, 1 du fichier " & myname & " dans le champs a reussi"
Else
'si ce ne sont pas les meme caractere alors il est ecrit dans le fichier que l'importation n'a pas reussi

Log "c:\excel\fichierlog.log", "l'importation de la cellule 2, 1" & coucou & " dans le champs lieu a echoue "



le probleme c'est que je dois me taper ces deux phrase pour chaque field ce qui est long

ya til un moyen de faire une boucle ou quelque chose de plus court
pour faire les verif

merci pour vos reponse
A voir également:

3 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
4 janv. 2005 à 00:00
bonsoir

il faut faire une boucle (do, for,etc...) à ta convenance
et rajouter la notion offset(ligne,colonne) que tu fais évoluer.

par contre, je pense que tu t'es compliqué la vie
car il vaut mieux créer le tableau à l'image de la base
et importer globalement.


toujours zen
0
fab101 Messages postés 139 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 27 septembre 2010 2
4 janv. 2005 à 10:18
salut merci pour ta reponse

tu peux me dire comment marche le mot offset

j'ai pas pu modifier le fichier excel car c'est un fichier que l'on me donne et que je dois importer ainsi je dois faire cellule par cellule


merci
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
4 janv. 2005 à 19:15
bonsoir

Si tu sélectionne la cellule "A1" par exemple,
tu peux te déplacer dans la page avec
selection.offset(ligne,colonne).toncontrole

en faisant varier ligne et colonne tu balaie la feuille.

si ligne = 4
et colonne = 3 : tu es sur la cellule C4
et tu fais ton test de cellule.


toujours zen
0