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

Macros et VBA Excel Discussion :

Recorset VBA modifier texte en date [XL-2007]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 22
    Par défaut Recorset VBA modifier texte en date
    Bonjour,

    j'ai crée une application qui permet de modifier les données excel d'un autre fichier excel sans l'ouvrir (à l'aide de RECORDSET). J'utilise donc une requête SQL avec update qui va récupéré les champs (plus la clef primaire) dans un userform, Quand les champs sont uniquement de format texte il n'y a pas de soucis mais un champ me pose problème car il peut contenir soit une date soit du texte. Lorsque je modifie une date par une autre date il n' y a pas de soucis mais quand je modifie du texte en date que faire?

    Voici mon 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
    Sub modifier_poste() ' Procédure qui va modifier les données postes
     
    Dim cn, cn1 As ADODB.Connection
    Dim rst, rstmanager As ADODB.Recordset
    Dim texte_SQL As String
    Dim test As Boolean
     
    texte_SQL = "UPDATE [" & onglet_source & "$] set " ' On initialise la requête SQL
     
    If IP_HT <> Modifier_Postes.zt_ipht Then
    texte_SQL = texte_SQL & "[IP-HT]=#" & Modifier_Postes.zt_ipht & "#, "
     
    End If
     
    texte_SQL = Left(texte_SQL, Len(texte_SQL) - 2) 'On enlève les 2 derniers caractères de la requête SQL
     
    texte_SQL = texte_SQL & " where [N° Immo]='" & CStr(Modifier_Postes.zl_numero_immo) & "'" 'On rajoute le critère 
     
    Set cn = New ADODB.Connection 'On établit la connection
     
    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & chemin_base & ";Extended Properties=Excel 8.0;"
     
    MsgBox texte_SQL
     
    Set rst = New ADODB.Recordset 'objet rst( permettant d'interroger la base) créé
    Set rst = cn.Execute(texte_SQL) ' Exécution requête
    Set rst = Nothing 'On détruit l'objet RST
     
    End Sub
    Je rajoutte en plus un échantillon de ma base de données.Merci de m'aider
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment en VBA modifier un fichier texte sans l'ouvrir dans Excel ?
    Par shadok6 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/10/2008, 13h54
  2. Réponses: 1
    Dernier message: 20/07/2006, 10h54
  3. [VBA Excel] convertir une date francaise au format anglais
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/12/2005, 16h52
  4. [VBA] [EXCEL] Texte dans graphique
    Par pier dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/12/2005, 16h40
  5. [Question] modifier le format date
    Par budylove dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 05/10/2005, 10h31

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