Je découvre encore VBA Access (plutôt spécialisé Excel VBA)
Quelle est la procédure qui permettrait, en VBA, de modifier la valeur d'un
champ d'un enregistrement donné d'une table.
J'espère que la question est suffisamment précise...
Le but étant d'importr un fichier csv pas forcément structuré
"linéairement"...
ex (déjà expliqué dans un autre fil mais je retente en ciblant un peu plus
la question...)...
Etat de parc
"Code groupe;Code entreprise;N° compte client;N° d'appel GSM;N° Abonné;N°
carte SIM;Nom utilisateur;Réf. Commande;N° Contrat;Date
activation;Remarque;Types Abonnements;Services;Date d'effet;Date de fin;Type
terminal"
"001657;374201;60521471;0607171170;477313;1044721630025;Guillaume
HERMELIN;OF/DTRS/DDS/SVE/PCE;30348405;21/07/1997;;Forfait entreprise 10h
se;;;;"
";;;;;;;;;;;;Présentation du numéro;09/07/2003;;"
";;;;;;;;;;;;International;02/12/2003;;"
";;;;;;;;;;;;Quid PC 5Mo/2H WIFI;14/04/2004;;"
";;;;;;;;;;;;Cartes jumelles;01/06/2004;;"
";;;;;;;;;;;;Numéro Leader;01/06/2004;;"
";;;;;;;;;;;;Fact. détaillée 10CH S/WE;01/06/2004;;"
";;;;;;;;;;;;;;;NOKIA 6610"
"001657;374201;60521471;0608528225;20416921;2034883452168;DUMOUSSET;ANALYSTE
DSI / POE;30348405;15/03/2001;;Tarif interne (non factur;;;;"
";;;;;;;;;;;;Messagerie Vocale;15/03/2001;;"
";;;;;;;;;;;;Présentation du numéro;15/03/2001;;"
";;;;;;;;;;;;Monde;04/12/2003;;"
";;;;;;;;;;;;Quid PC 5Mo/2H WIFI;14/04/2004;;"
";;;;;;;;;;;;;;;MOTOROLA V500"
"001657;374201;60521471;0670641298;1742957;2942643662795;JEAN-JACQUES
PROST;DDS/SVE Expert Fonctionnel;30348405;23/09/1999;;Tarif interne (non
factur;;;;"
";;;;;;;;;;;;Messagerie Vocale;23/09/1999;;"
";;;;;;;;;;;;Présentation du numéro;23/09/1999;;"
";;;;;;;;;;;;Monde;05/12/2003;;"
";;;;;;;;;;;;Quid PC 5Mo/2H WIFI;14/04/2004;;"
";;;;;;;;;;;;;;;MOTOROLA V500"
"001657;374201;60521471;0673671583;20334160;2034883535376;YANN
PIERREFEU;CHEF PROJET DSI / POE;30348405;18/01/2001;;Tarif interne (non
factur;;;;"
";;;;;;;;;;;;Messagerie Vocale;18/01/2001;;"
";;;;;;;;;;;;Présentation du numéro;18/01/2001;;"
";;;;;;;;;;;;Monde;17/10/2003;;"
";;;;;;;;;;;;Quid PC 5Mo/2H WIFI;14/04/2004;;"
";;;;;;;;;;;;;;;MOTOROLA V600"
Par avance merci à tous...
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Joël GARBE" <joel-...@wanadoo.fr> a écrit dans le message de news:419e6bd9$0$8191$8fcf...@news.wanadoo.fr...
La vraie question est celle-ci :
Lorsque j'ai une donnée, que je récupère dans un fichier csv par une
procédure VBA, comment faire pour l'envoyer dans un champ d'un
enregistrement d'une table ACCESS.
ou alors,
En d'autre termes comment parcourir tous les enregistrements d'une table, et
pour chaque enregistrement, cibler un champ déterminé.
J'espère que la clarté fait son chemin ;-)
finalement, c'est quelquefois plus facilme de répondre à des questions que
de les poser ;-)-)-)
Bon week-end et encore merci !
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Pierre CFI [mvp]" <XXX_pier...@aol.com> a écrit dans le message de
news: ORTWKztz...@TK2MSFTNGP14.phx.gbl...
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Joël GARBE" <joel-...@wanadoo.fr> a écrit dans le message de news:419f0d1a$0$8153$8fcf...@news.wanadoo.fr...
J'étudie cela dans la matinée et reviens vers le groupe pour donner mes
conclusions...
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Pierre CFI [mvp]" <XXX_pier...@aol.com> a écrit dans le message de
news: uycQJPuz...@tk2msftngp13.phx.gbl...
Je progresse...
à l'aide de requêtes (formidable cet instrument quand on sait s'en servir),
je parviens à faire du ménage dans la table issue de mon fichier csv...
Il me reste au moins un problème majeur :
Dans la requête "pré-finale", il me reste à indiquer la chose suivante :
Si une ligne contient un champ "Code Groupe" vide, et que le champ "Service
Carte Jumelle" contient l'information "Cartes Jumelles", je dois remonter
"OUI" dans l'enregistrement précédent ou le champ "Code Groupe" n'est pas
vide...
Idem côté champ "Service Bureau Mobile" avec l'information "Bureau Mobile"
Une autre façon de procéder pourrait consister à recopier vers le bas les
champs "Code Groupe" à "Nom Utilisateur" (automatiquement bien sûr),
Malheureusement, nous ne sommes pas sur Excel...
et ensuite, je devrais pouvoir trouver les requêtes qui vont bien ...
Rq Recensement Code Groupe Code Entreprise N° Compte Client N° Appel GSM
N° Abonné Nom Utilisateur Service Carte Jumelle Service Bureau Mobile
001657 374201 60521471 06071xxxxx 477313 Guillaume HERMELIN
Cartes jumelles Cartes jumelles
001657 374201 60521471 06085xxxxx 20416921 DUMOUSSET
001657 374201 60521471 06706xxxxx 1742957 JEAN-JACQUES PROST
001657 374201 60521471 06736xxxxx 20334160 YANN PIERREFEU
001657 374201 60521471 06745xxxxx 20295759 CAROLE AUBERT
001657 374201 60521471 06745xxxxx 20295761 WILLIAM CHASTE
001657 374201 60521471 06806xxxxx 21230840 LUGAGNEDELPON EMMANUEL
001657 374201 60521471 06806xxxxx 20073865 FLORENCE DROUINEAU
001657 374201 60521471 06838xxxxx 1358613 Cédric LIGNON
Bureau Mobile Bureau Mobile
001657 374201 60521471 06863xxxxx 739686 JEAN MICHEL MONTLAHUC
Cartes jumelles Cartes jumelles
001657 374201 60521471 06866xxxxx 2255839 PHILIPPE LOUSSE
001657 374201 60521471 06883xxxxx 1707895 PATRICK REVEILLON
d'avance merci pour le tuyau...
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Pierre CFI [mvp]" <XXX_pier...@aol.com> a écrit dans le message de
news: uycQJPuz...@tk2msftngp13.phx.gbl...
Pour information, voici le code utilisé pour répondre à ma demande (on
progresse vite quand on est confronté aux problèmes à resoudre...)
Il ne me reste plus qu'à créer une requête suppression pour supprimer les
enregistrements en trop et le tour est joué...
Encore merci Pierre(s) et bon week-end...
Sub RemplirChamps()
Dim strTable As String
Dim strChampCJ As String
Dim strChampBM As String
Dim dbs As DAO.database
Dim rst As DAO.Recordset
Dim rstP As DAO.Recordset
Dim BurMob As String
Dim CarteJum As String
Dim i As Long
strTable = "Rq Recensement"
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(strTable, dbOpenDynaset)
i = 0
Dim j As Long
strChampCJ = "Service Cartes Jumelles"
strChampBM = "Service Bureau Mobile"
Set rstP = rst.Clone
With rst
Do While Not .EOF
If .Fields("Code Groupe") <> "" Then
Else
i = 0
Do Until rstP.Fields("Code Groupe") <> ""
rstP.MovePrevious
i = i + 1
Loop
If .Fields(strChampCJ) = "Cartes Jumelles" Then
rstP.edit
rstP.Fields(strChampCJ) = "OUI"
rstP.Update
Else
If IsNull(rstP.Fields(strChampCJ).Value) Or
rstP.Fields(strChampCJ).Value = "" Then
rstP.edit
rstP.Fields(strChampCJ) = "NON"
rstP.Update
End If
End If
If .Fields(strChampCJ) = "Bureau Mobile" Then
rstP.edit
rstP.Fields(strChampBM) = "OUI"
rstP.Update
Else
If IsNull(rstP.Fields(strChampBM).Value) Or
rstP.Fields(strChampBM).Value = "" Then
rstP.edit
rstP.Fields(strChampBM) = "NON"
rstP.Update
End If
End If
For j = 1 To i
rstP.MoveNext
Next
End If
'.edit
'.Fields(strChamp) = i
'.Update
.MoveNext
rstP.MoveNext
Loop
End With
rstP.Close
rst.Close
dbs.Close
Set rstP = Nothing
Set rst = Nothing
Set dbs = Nothing
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Joël GARBE" <joel-...@wanadoo.fr> a écrit dans le message de news:
419f2e76$0$8809$8fcf...@news.wanadoo.fr...