Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA supprimer les commentaires et récupérer la date dans une var ia

1 réponse
Avatar
Chantilly
Bonjour ,

Je suis débutante en Access VBA. J'ai un fichier de cette "forme" :

###
# La petite fille - blalabla
# 1096 - lala
# 01/04/2005
### 999
données1;données2;données3;...
data1;lola;...;

Je voudrais supprimer les # de mon fichier et réussir à récupérer la date à
savoir 01/04/2005 de façon assez simple (après clic sur un bouton "nettoyer"
par exemple ...car j'ai plusieurs fichiers de ce type à traiter ...je
voudrais donc automatisrr cela le plus possible).

Mon fichier sera par la suite importé dans une table "Matable et je vais
utilier les ; comme séparateur dans mon fichier.


Voilà le code pour l'import après clic sur un bouton importer.


'fonction importer

Function Importer1(fileName As Variant, tableName)

'On Error GoTo Importer1_Err
Importer1 = True
DoCmd.TransferText acImportDelim, "Spécification d'importation", tableName,
fileName, False, "", 1252
' "Spécification d'importation": j'ai défini les ; comme séparateurs

' fin de l'import
Importer1_Exit:
Exit Function
Importer1_Err:
Importer1 = False
'MsgBox Error$
Resume Importer1_Exit

End Function

' pour le bouton permettant de faire l'import pour le moment (sans nettoyage)

Private Sub cmdImporte_Click()
Dim success As Boolean
For Each nomFichiers In colFichiers
success = Importer1(nomFichiers, "MaTable")
Next
End Sub


Mon problème est donc dans le codage du fameux bouton nettoyer permettant de
supprimer les #, de récupérer la date ...


Au final je voudrais en effet avoir ma base avec :

premier colonne de ma table deuxième colonne de ma table
troisième colonne de ma table
date (soit 01/04/2005) données1
données2
date data1
data2



J'ai pensé à utiliser des regexp pour le moment mais k'avoue que j'ai du
mal. Ma regexp pour la date serait la suivante :
"^(#)[\s][0-9]{2}[\/][0-9]{2}[\/][0-9]{4}".

Je comptais procéder comme cela :
1) Parcourir toutes les lignes du fichiers donné (.csv)
2) Récupérer les lignes commençant par # 01/04/2005 (soit la
regexp : "^(#)[\s][0-9]{2}[\/][0-9]{2}[\/][0-9]{4}". )
3) Supprimer les lignes commençant par #

Est-ce judicieux ? Je ne vois pas comment coder cette partie...Je vous
remercie d'avance pour votre aide !!!

Zoubis

1 réponse

Avatar
3stone
Salut,

"Chantilly"
| Je suis débutante en Access VBA. J'ai un fichier de cette "forme" :
|
| ###
| # La petite fille - blalabla
| # 1096 - lala
| # 01/04/2005
| ### 999
| données1;données2;données3;...
| data1;lola;...;
|
| Je voudrais supprimer les # de mon fichier et réussir à récupérer la date à
| savoir 01/04/2005 de façon assez simple (après clic sur un bouton "nettoyer"
| par exemple ...car j'ai plusieurs fichiers de ce type à traiter ...je
| voudrais donc automatisrr cela le plus possible).
|
| Mon fichier sera par la suite importé dans une table "Matable et je vais
| utilier les ; comme séparateur dans mon fichier.
<snip>

Pour l'importation, inspire toi de ceci :
http://users.skynet.be/accesshome/ah_fichiers_importertxt.htm

et pour supprimer tes "#" il suffit, sur lecture de la ligne, remplacer les # par... rien...

txtLine = Replace(txtLine,"#","")


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw