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 :

Incohérence de type dans une expression


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 116
    Par défaut Incohérence de type dans une expression
    Bonjour,

    J'ai développé une application sur excel qui se connecte à un autre fichier excel via une connection ADODB pour récupérer certaines données dans celui-ci.

    Tout fonctionnait très bien jusqu'à ce que je supprime le fichier distant par inadvertance :/ J'ai quand même réussit à le récupérer mais depuis, ma requête ne fonctionne plus le débugeur m'affiche l'erreur suivante: "Incohérence de type dans une expression".

    Pourtant les données dans mon fichier distant sont toutes de type texte. Voici le code avec la requête qui pose problème:

    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
     
    Public Sub rel_incomplets(ByVal creneau As String)
     
    ActiveWorkbook.Sheets("Accueil").Unprotect
     
    cejour = Format(VBA.Date, "dddd")
    cejour = cejour & "_" & creneau
    nom_feuille = "Rappels_" & creneau
     
    Dim Cn As ADODB.connection
    Dim feuille As String, strSQL, texteSQL As String
     
    feuille = "Liste_CU"
    f_horaire = "horaires"
    Set Cn = New ADODB.connection
     
    With Cn
        .Provider = "MSDASQL"
        .ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & _
            "DBQ=" & fichier & "; ReadOnly=False;"
        .Open
    End With
     
        '------------------------------------------------------
    Dim finref, plage As String
    finref = classeur.Sheets(nom_feuille).Cells(4, 1).CurrentRegion.Address(True, True, xlR1C1)
    finref = Mid(finref, InStr(finref, ":")) 'on ne prend que apres les :
    finref = Left(finref, InStr(finref, "C") - 1)
    finref = Mid(finref, 3)
     
    If finref > 4 Then
        plage = "A5:S" & finref
        classeur.Sheets(nom_feuille).Range(plage).ClearContents
    End If
     
    texteSQL = "SELECT reference, insee, formulaire, date_rel, cerfa, cadastre, masse, puissance, parcelle, chemin, er_appel, contact_1er_appel"
    texteSQL = texteSQL & ", relance1, contact_relance1, relance2, contact_relance2, renvoie, contact_renvoie, commentaire "
    texteSQL = texteSQL & "FROM [" & feuille & "$] WHERE date_rel <= #" & dateSQL(VBA.Date) & "#"
    texteSQL = texteSQL & " AND insee IN (SELECT insee FROM [" & f_horaire & "$] WHERE " & cejour & " <> null)"
    texteSQL = texteSQL & " ORDER BY date_rel;"
     
    MsgBox texteSQL
    Set rst = New ADODB.Recordset
    rst.Open texteSQL, Cn, adOpenStatic
     
    ' Ecrit le résultat de la requête dans la cellule A5
    ActiveWorkbook.Sheets(nom_feuille).Range("A5").CopyFromRecordset rst
    ' Met à jour le compteur sur la page d'accueil
    If creneau = "mat" Then
        ActiveWorkbook.Sheets("Accueil").Cells(5, 9).Value = rst.RecordCount
    Else
        ActiveWorkbook.Sheets("Accueil").Cells(6, 9).Value = rst.RecordCount
    End If
     
     
    Cn.Close
    Set Cn = Nothing
     
    End sub
    Si l'un d'entre vous à une idée du problème? si besoin je peux joindre le fichier distant.

    Merci d'avance

  2. #2
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 116
    Par défaut
    l'absence de réponse commence à m'inquiéter

Discussions similaires

  1. [AC-2007] Incohérence de type dans une expression
    Par DidoFido dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 04/12/2009, 14h21
  2. [AC-2003] Incohérence de type dans une expression
    Par KANIN dans le forum IHM
    Réponses: 2
    Dernier message: 05/11/2009, 10h15
  3. [AC-2007] Incohérence de type dans une expression
    Par stygmats dans le forum IHM
    Réponses: 6
    Dernier message: 06/09/2009, 18h38
  4. Incohérence de type dans une expression
    Par souketou dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/04/2009, 16h27
  5. Réponses: 3
    Dernier message: 23/05/2006, 15h09

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