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 :

Problème de caractères


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 76
    Par défaut Problème de caractères
    Bonjour,

    J'ai dans ma table access une table avec un champ de type memo qui contient pour certains enregistrements, le caractères "ENTER" ou "à la ligne"

    J'aimerais pouvoir exporter les données de cette table dans un fichier excel (en pressant sur un bouton) mais quand je l'exporte de cette façon VBA me fait une erreur car il ne reconnait pas ce caractère!

    En revanche si je l'exporte depuis le menu fichier, exporter, cela fonctionne bien!

    Je suppose qu'il y a donc une fonction qui permet de transformer ce caractère ou de l'ignorer!?

    Si quelqu'un peut m'aider!?

    Merci beaucoup!!!!!

  2. #2
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Par défaut Précisions ?
    On pourrait pas avoir :
    • Le message d'erreur
    • Le code VB
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 76
    Par défaut
    Je ne pense pas que ca soit très utile pour ce problème mais le voilà quand mê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
    Private Sub Report_Click()
     
    Dim xlApp As Excel.Application
    Dim xlSheet As Excel.Worksheet
    Dim xlBook As Excel.Workbook
    Dim I As Long, J As Long, K As Long
    Dim t0 As Long, t1 As Long
    Dim rec As DAO.Recordset
    Dim Qry As DAO.QueryDef
     
    t0 = Timer
     
     
    Set xlApp = CreateObject("Excel.application")
    Set xlBook = xlApp.Workbooks.Add
     
     
    For Each Qry In CurrentDb.QueryDefs
        If Qry.Name = "Report_MinimaleInputs" Then
            Set xlSheet = xlBook.Worksheets.Add
            Set rec = CurrentDb.OpenRecordset("Report_MinimaleInputs", dbOpenSnapshot)
            xlSheet.Name = "Report"
     
     
            For J = 0 To rec.Fields.Count - 1
                xlSheet.Cells(1, J + 1) = rec.Fields(J).Name
    Le Problème intervient ici, Erreur: "Objet de type inconnu" mais cela vient du caractère [ENTER] que l'on ne peut pas insérer dans une cellule Excel
    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
     
                With xlSheet.Cells(1, J + 1)
                    .Interior.ColorIndex = 37
                    .Borders(xlEdgeBottom).LineStyle = xlContinuous
                    .HorizontalAlignment = xlCenter
                    xlSheet.Columns.AutoFit
                    .Cells.Font.Bold = True
     
                End With
            Next J
     
            I = 2
     
            Do While Not rec.EOF
                For K = 0 To rec.Fields.Count - 1
                    xlSheet.Cells(I, K + 1) = rec.Fields(K)
                    If rec.Fields(K) = "gelb" Then
                        xlSheet.Cells(I, K + 1).Interior.ColorIndex = 6
                    ElseIf rec.Fields(K) = "grün" Then
                        xlSheet.Cells(I, K + 1).Interior.ColorIndex = 43
                    ElseIf rec.Fields(K) = "rot" Then
                        xlSheet.Cells(I, K + 1).Interior.ColorIndex = 3
                    End If
     
                Next K
                I = I + 1
                rec.MoveNext
            Loop
        End If
    Next
     
     
    xlBook.SaveAs "H:\Report.xls"
    xlApp.Quit
    rec.Close
     
    Set rec = Nothing
    Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing
    t1 = Timer
     
    End Sub
    Merci de votre aide!!!

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Le saut de ligne dans une cellule Excel est VbLf.

    Tu n'as qu'à remplacer le saut de ligne de tes champs memo par celui-là.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

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

Discussions similaires

  1. Problème de caractère ?
    Par Leishmaniose dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 07/11/2006, 17h29
  2. [JEditorPane] Problème avec caractère accentué
    Par scifire dans le forum Composants
    Réponses: 6
    Dernier message: 14/09/2005, 14h58
  3. problème de caractères clavier!!!
    Par brunetc dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 10/06/2005, 13h39
  4. [SQL Server] problème de caractères spéciaux
    Par mbibim63 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 02/06/2005, 18h38
  5. [MiniPascal] Problème de caractères accentués
    Par Clandestino dans le forum Autres IDE
    Réponses: 3
    Dernier message: 03/10/2004, 13h12

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