IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Fonction "Remplacer" Code VBA Access


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : Luxembourg

    Informations forums :
    Inscription : Septembre 2007
    Messages : 120
    Par défaut Fonction "Remplacer" Code VBA Access
    Salut à tous,
    Je n'arrive pas à trouver le code me permettant de remplacer un caractère ou chaîne de caractère en VBA.
    Je voudrais, par exemple, remplacer une virgule par un point dans un champ particulier d'une table sans passer par le menu proposé par Access (Edition - Remplacer...)
    Quelqu'un aurait-il une solution?

    Merci d'avance.

    Lorenzo

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Si je traduis en Anglais le mot Remplacer, cela doit faire Replace, il me semble.
    Peut-être un coup de sur ce mot devrait t'aider.

    Starec

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : Luxembourg

    Informations forums :
    Inscription : Septembre 2007
    Messages : 120
    Par défaut Fonction Replace
    Replace(expression, find, replace[, start[, count[, compare]]]) dans Aide VBA

    J'écris par ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Replace(rstTemp1!Champ1, ".", ",")
    donne "Erreur de compilation. Attendu : Expression

    Start, count, compare étant facultatifs

    J'ai du mal à comprendre la syntaxe, pourriez-vous m'aider à traduire?

    Aussi qu'est-ce que "F1"

    Merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Il faudrait que tu nous donnes le code avant et après pour savoir comment tu places cette fonction.

    Et c'est tout simplement la touche du clavier pour l'aide.

    Starec

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : Luxembourg

    Informations forums :
    Inscription : Septembre 2007
    Messages : 120
    Par défaut Fonction replace
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    '****************************************************************************
    'ETAPE 1 - Importation brute (txt) des données du fichier source
    '****************************************************************************
    'Désactivation des MsgBox générés par Access
    DoCmd.SetWarnings False
     
    'Simplification du chemin d'accès
    chemin = "C:\Documents and Settings\Checchi Lorenzo\Mes documents\Bibliothèque\DEV_ACCESS\MARQUILIE\C001186.xls"
    txtpath = chemin
     
    'Déclaration des variables tables
    Dim rstTemp1 As DAO.Recordset
    Dim rstTemp2 As DAO.Recordset
    Dim rstTemp3 As DAO.Recordset
     
    'Déclaration des variables diverses
    Dim warm As Boolean
     
    'Mise à zéro de la variable warm (permet la mise sous condition)
    warm = False
     
    'Importation du fichier xls dans la table TblTemp1
    If warm = False Then
        DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "TblTemp1", txtpath, , , UseOA
    End If
     
    '****************************************************************************
    'ETAPE 2 - Suppression des enregistrements inutiles
    '****************************************************************************
     
    'Suppression des enregistrements blancs contenus dans le champs F6 de TblTemp1 (lignes 1 - 5 et 7)
    DoCmd.RunSQL "DELETE TblTemp1.F6 FROM TblTemp1 WHERE (((TblTemp1.F6) Is Null));"
     
    'Suppression de l'enregistrement contenant les libellés du fichier source
    DoCmd.RunSQL "DELETE TblTemp1.F1, TblTemp1.F3 FROM TblTemp1 WHERE (((TblTemp1.F1)='Number') AND ((TblTemp1.F3)='Time'));"
     
     
     
    '==========DEVELOPPEZ.COM================
    'Remplacer les points par /
    'replace(rstTemp1!F2, ".", "/")
    '==========DEVELOPPEZ.COM================
     
     
     
     
    '****************************************************************************
    'ETAPE 3 - Transfert et formatage vers la table TblTemp2
    '****************************************************************************
     
    'Mise en mode écriture des tables
    Set rstTemp1 = CurrentDb.OpenRecordset("TblTemp1", dbOpenDynaset)
    Set rstTemp2 = CurrentDb.OpenRecordset("TblTemp2", dbOpenDynaset)
     
    'Transfert des données de la table TblTemp1 vers la table TblTemp2 par l'instruction Do...Loop
    rstTemp1.MoveFirst
        Do While Not rstTemp1.EOF
            rstTemp2.AddNew
                warm = False
                    rstTemp2!Number_Room = rstTemp1!F1
                    rstTemp2!DateAppel = rstTemp1!F2
                    rstTemp2!Time = rstTemp1!F3
                    rstTemp2!Number_External = rstTemp1!F4
                    rstTemp2!Duration = rstTemp1!F5
                    rstTemp2!Amount_EUR = rstTemp1!F6
                rstTemp2.Update
            rstTemp1.MoveNext
        Loop
     
    '****************************************************************************
    'ETAPE 4 - Procédures SQL pour l'extraction et copie de l'extension de TblTemp3 dans le champ Extension
    '****************************************************************************
     
    'Insertion du contenu de la table TblTemp2
    DoCmd.RunSQL "INSERT INTO TblTemp3 ( Number_Room, DateAppel, [Time], Number_External, Duration, Amount_EUR )" & _
    " SELECT TblTemp2.Number_Room, TblTemp2.DateAppel, TblTemp2.Time, TblTemp2.Number_External, TblTemp2.Duration, TblTemp2.Amount_EUR" & _
    " FROM TblTemp2;"
     
    'Extraction de l'extension du champ Number_Room (3 derniers chiffres)
    DoCmd.RunSQL "UPDATE TblTemp3 SET TblTemp3.Extension = (Right([Number_Room],3));"
     
    'Extraction de mm/yyyy pour la période de référence de l'appel
    DoCmd.RunSQL "UPDATE TblTemp3 SET TblTemp3.PeriodeRef = Right([DateAppel],7);"
     
    MsgBox "OK !"
    En espérant que cela vous aidera et merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Tu ne peux pas remplacer comme cela, il faut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rstTemp1!F2=replace(rstTemp1!F2, ".", "/")
    De plus cela ne risque pas de fonctionner, car tu n'as pas encore fait le Set de rstTemp1.

    Starec

Discussions similaires

  1. Accés au donnés sur Excel via Code vba Access
    Par sakia dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/11/2007, 16h46
  2. code vba access
    Par heraut dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/08/2007, 13h22
  3. Conversion des codes VBA Access en VB6
    Par cokouT dans le forum Access
    Réponses: 1
    Dernier message: 23/11/2006, 09h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo