OVH Cloud OVH Cloud

Copie de data dans une colonne

7 réponses
Avatar
Fleptche
Bjr,

Je récupère, sous Access, un fichier *.TXT sous cette forme:

Patient TraitementA TraitementB TraitementC
Dupont 22/08/04 23/08/04
25/08/04 26/08/04
29/08/04 26/08/04
Durand 23/08/04 24/08/04 29/08/04
27/08/04 28/08/04
29/08/04 etc...
où le nom du patient n'est inscrit que dans le 1er enregistrement le
concernant.

Question: comment duplique le nom du patient dans les différents
enregistrements ??

merci d'avance

philippe

7 réponses

Avatar
Raymond [mvp]
Bonsoir.

Si des séparateurs sont inclus dans le fichier, il y aura possibilité de
faire quelque chose en VBA assez rapidement. Il faudrait connaitre la
structure des enregistrements.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fleptche" a écrit dans le message de
news:
Bjr,

Je récupère, sous Access, un fichier *.TXT sous cette forme:

Patient TraitementA TraitementB TraitementC
Dupont 22/08/04 23/08/04
25/08/04 26/08/04
29/08/04 26/08/04
Durand 23/08/04 24/08/04 29/08/04
27/08/04 28/08/04
29/08/04 etc...
où le nom du patient n'est inscrit que dans le 1er enregistrement le
concernant.

Question: comment duplique le nom du patient dans les différents
enregistrements ??

merci d'avance

philippe


Avatar
Fleptche
Oui.
Tous les items sont séparés (Champ Patients, Champ TraitementA,...).
Une précision: le nombre d'enregistrements pour 1 patient peut-être
différent pour un autre.

Merci pour les liens, mais j'avoue ne pas m'y retrouver....
Merci pour l'aide

"Raymond [mvp]" wrote:

Bonsoir.

Si des séparateurs sont inclus dans le fichier, il y aura possibilité de
faire quelque chose en VBA assez rapidement. Il faudrait connaitre la
structure des enregistrements.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fleptche" a écrit dans le message de
news:
Bjr,

Je récupère, sous Access, un fichier *.TXT sous cette forme:

Patient TraitementA TraitementB TraitementC
Dupont 22/08/04 23/08/04
25/08/04 26/08/04
29/08/04 26/08/04
Durand 23/08/04 24/08/04 29/08/04
27/08/04 28/08/04
29/08/04 etc...
où le nom du patient n'est inscrit que dans le 1er enregistrement le
concernant.

Question: comment duplique le nom du patient dans les différents
enregistrements ??

merci d'avance

philippe







Avatar
Raymond [mvp]
Bonjour.

ils sont séparés mais par quel séparateur et lorsqu'il n'y a pas de nom le
séparateur est-il présent quand même ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fleptche" a écrit dans le message de
news:
Oui.
Tous les items sont séparés (Champ Patients, Champ TraitementA,...).
Une précision: le nombre d'enregistrements pour 1 patient peut-être
différent pour un autre.

Merci pour les liens, mais j'avoue ne pas m'y retrouver....
Merci pour l'aide



Avatar
Fleptche
Voilà comment ça se présente:

--------!----------------!-----------------!---------------!
Patient ! TraitementA ! TraitementB ! TraitementC!
-----------------------------------------------------------!
Dupont ! 22/08/04 ! 23/08/04 ! !
----------------------------------------------------------- !
25/08/04 ! ! 26/08/04 !
-----------------------------------------------------------!
! 29/08/04 ! 26/08/04 ! !
-----------------------------------------------------------!
Durand ! 23/08/04 ! 24/08/04 ! !
----------------------------------------------------------- !
29/08/04 ! ! !
-----------------------------------------------------------!
! 27/08/04 ! 28/08/04 ! !
--------!----------------!-----------------!---------------!
! ! 29/08/04 ! !
--------!----------------!-----------------!---------------!
! 29/08/04 ! ! !
--------!----------------!-----------------!---------------!
Je voudrai donc recopier automatiquement le nom DUPONT dans les 2 autres
enregistrements le concernant et le nom DURAND dans les 4 enregistrements le
concernant;

DUR DUR pour moi!!

A+

"Raymond [mvp]" wrote:

Bonjour.

ils sont séparés mais par quel séparateur et lorsqu'il n'y a pas de nom le
séparateur est-il présent quand même ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fleptche" a écrit dans le message de
news:
Oui.
Tous les items sont séparés (Champ Patients, Champ TraitementA,...).
Une précision: le nombre d'enregistrements pour 1 patient peut-être
différent pour un autre.

Merci pour les liens, mais j'avoue ne pas m'y retrouver....
Merci pour l'aide








Avatar
Fleptche
Voilà comment ça se présente
-----------------------------------------------------------!
Patient ! TraitementA ! TraitementB ! TraitementC!
-----------------------------------------------------------!
Dupont ! ! ! !
----------!-----------------!----------------!------------ !
! ! ! !
----------!-----------------!----------------!-------------!
Durant ! ! ! !
----------!-----------------!----------------!-------------!
! ! ! !
----------!-----------------!----------------!-------------!
! ! ! !
----------!-----------------!----------------!-------------!


J'ai donc facilement importé ce .TXT dans une table en me servant des "!"
pour faire des champs (Patient, TraitementA,...en en-tête de colonne) et
chaque ligne suivante représente 1 enregistrement.

Je souhaiterai que le nom du patient Duppont soit dupliqué dans la ligne
suivante sous le champ "Patient" et Durand dans les 2 lignes suivantes.

DUR DUR pour moi;
Merci et A+


"Raymond [mvp]" wrote:

Bonjour.

ils sont séparés mais par quel séparateur et lorsqu'il n'y a pas de nom le
séparateur est-il présent quand même ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fleptche" a écrit dans le message de
news:
Oui.
Tous les items sont séparés (Champ Patients, Champ TraitementA,...).
Une précision: le nombre d'enregistrements pour 1 patient peut-être
différent pour un autre.

Merci pour les liens, mais j'avoue ne pas m'y retrouver....
Merci pour l'aide








Avatar
Raymond [mvp]
Il faut traiter le fichier texte en le lisant ligne à ligne et en supprimant
les lignes de séparation avec des ------.
ensuite à partir de la 4e ligne, remettre des valeurs nulles pour les dates
en espaces et remettre le patient précédent si 1er champ vide ou à espaces.
le nouveau fichier texte sera importer par un import normal.
c'est faisable.
tu trouveras des fonctions pour faire ça avec les objets FileSystemObjects
sur la page : http://access.seneque.free.fr/textfile.htm
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fleptche" a écrit dans le message de
news:
Voilà comment ça se présente
-----------------------------------------------------------!
Patient ! TraitementA ! TraitementB ! TraitementC!
-----------------------------------------------------------!
Dupont ! ! ! !
----------!-----------------!----------------!------------ !
! ! ! !
----------!-----------------!----------------!-------------!
Durant ! ! ! !
----------!-----------------!----------------!-------------!
! ! ! !
----------!-----------------!----------------!-------------!
! ! ! !
----------!-----------------!----------------!-------------!


J'ai donc facilement importé ce .TXT dans une table en me servant des "!"
pour faire des champs (Patient, TraitementA,...en en-tête de colonne) et
chaque ligne suivante représente 1 enregistrement.

Je souhaiterai que le nom du patient Duppont soit dupliqué dans la ligne
suivante sous le champ "Patient" et Durand dans les 2 lignes suivantes.

DUR DUR pour moi;
Merci et A+


Avatar
Ilan
Bonjour ,
tu peux eventuellement creer une moulinette Visual Basic.
Qui recupere le patient puis le place dans les enregistrements suivants vides
jusqu'au nouveau nom de patient.

Exemple :
(Ajoute la references Microsoft DAO x.x Object Library)
Pour acceder aux references
Ouvre l'editeur Visual Basic
Clic bouton droit -> Explorateur d'objet
Clic bouton droit -> References
coche dans la liste la reference Microsoft DAO x.x Object Library (x.x est
la version)

Remplace nomdelatable par le vrai nom de la table creee.

Function SetPatient()
Dim PatientTBL As DAO.Recordset
Dim NomPatient As String
Dim Message As String
Dim NbRecord As Integer
Set PatientTBL = CurrentDb.OpenRecordset("nomdelatable")
Message = ""
NbRecord = 0
NomPatient = ""
Screen.MousePointer = 11
While Not PatientTBL.EOF
If PatientTBL!Patient <> "" And Not IsNull(PatientTBL!Patient) Then
If NomPatient <> "" Then
Message = IIf(Message = "", NomPatient & " : " & NbRecord, _
Message & Chr(10) & Chr(13) & NomPatient & " : " & NbRecord)
Message = IIf(NbRecord = 1, Message & " enregistrement.", _
Message & " enregistrements.")
End If
NomPatient = PatientTBL!Patient
NbRecord = 0
Else
PatientTBL.Edit
PatientTBL!Patient = NomPatient
PatientTBL.Update
NbRecord = NbRecord + 1
End If
PatientTBL.MoveNext
Wend
PatientTBL.Close
Screen.MousePointer = 0
if len(message)<1024 then MsgBox (Message)
End Function




Voilà comment ça se présente
-----------------------------------------------------------!
Patient ! TraitementA ! TraitementB ! TraitementC!
-----------------------------------------------------------!
Dupont ! ! ! !
----------!-----------------!----------------!------------ !
! ! ! !
----------!-----------------!----------------!-------------!
Durant ! ! ! !
----------!-----------------!----------------!-------------!
! ! ! !
----------!-----------------!----------------!-------------!
! ! ! !
----------!-----------------!----------------!-------------!


J'ai donc facilement importé ce .TXT dans une table en me servant des "!"
pour faire des champs (Patient, TraitementA,...en en-tête de colonne) et
chaque ligne suivante représente 1 enregistrement.

Je souhaiterai que le nom du patient Duppont soit dupliqué dans la ligne
suivante sous le champ "Patient" et Durand dans les 2 lignes suivantes.

DUR DUR pour moi;
Merci et A+


"Raymond [mvp]" wrote:

Bonjour.

ils sont séparés mais par quel séparateur et lorsqu'il n'y a pas de nom le
séparateur est-il présent quand même ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fleptche" a écrit dans le message de
news:
Oui.
Tous les items sont séparés (Champ Patients, Champ TraitementA,...).
Une précision: le nombre d'enregistrements pour 1 patient peut-être
différent pour un autre.

Merci pour les liens, mais j'avoue ne pas m'y retrouver....
Merci pour l'aide