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 :

Probleme avec des donnees numeriques stockees comme texte en Excel.


Sujet :

VBA Access

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 125
    Points
    125
    Par défaut Probleme avec des donnees numeriques stockees comme texte en Excel.
    Bonjour a tous,
    J’ai une plage dont certaines colonnes contiennent des donnees numeriques qui sont stockees comme du texte avec un petit triangle vert au coin superieur gauche de la cellule.
    Je me sers du code suivant pour corriger cela mais, c’est extrement lent puisque la plage est d’une grande taille (A1: GL 5206) . Je dois preciser ici qu’un code similaire s’execute en 1 minute en si executee directement en Excel.
    Auriez –vous des pistes de reflexions a me suggerer ?
    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
    Sub subDataStoredAsText()
     
     
          Dim strExcelFileName As String, strExcelTabName As String
          strExcelFileName = "C:\Documents and Settings\prosperg\Desktop\T2_Canx_CnC_AOT_Weekly\Prosper_Raw_Data.xlsm"
          strExcelTabName = "Data_Options"
          Dim objXLApp As Excel.Application ': i use early binding here.
          Dim objXLBook As Excel.Workbook
          Dim rngUsedRange As Excel.Range, oRange As Excel.Range
     
          Set objXLApp = CreateObject("Excel.Application")
          Set objXLBook = objXLApp.Workbooks.Open(strExcelFileName)
          objXLApp.Application.Visible = True
     
          Set rngUsedRange = objXLBook.Worksheets(strExcelTabName).usedrange
     
     
          objXLApp.ScreenUpdating = False
          objXLApp.DisplayAlerts = False
     
          '=> solution au probleme de  "Number stored as text"
          For Each oRange In rngUsedRange
                oRange.Value = oRange.Value
          Next oRange
     
          objXLApp.DisplayAlerts = True
          objXLApp.ScreenUpdating = True
     
          objXLBook.Save
          objXLApp.Quit
          Set objXLApp = Nothing
     
    End Sub

  2. #2
    Expert éminent sénior
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Bonjour,

    Modifier les cellules une par une c'est long, surtout à partir d'une autre application.
    A priori Excel accepte la mise à jour d'un tableau en une seule fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rngUsedRange.Value = rngUsedRange.Value

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 125
    Points
    125
    Par défaut
    Grand merci pour l’astuce.
    Cependant , je ne suis pas pour autant au bout de mes peines.
    Si j’ai par exemple 123 et ABC dans la meme colonne, le 123 sera “corrige” par le code et importe dans une table Access sans probleme. Par contre, tout ce qui n’est pas numerique (par exemple le ABC) ne le sera pas.
    Je ne sais vraiment pas comment contourner ce probleme.

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/06/2008, 14h19
  2. Base de données: problème avec des requêtes et le caractère '
    Par faluorn dans le forum Général Python
    Réponses: 7
    Dernier message: 03/05/2006, 11h02
  3. probleme avec des champs numeriques
    Par el_quincho dans le forum Access
    Réponses: 1
    Dernier message: 16/03/2006, 12h55
  4. Probleme avec des pointeurs...
    Par barucca dans le forum C++
    Réponses: 5
    Dernier message: 23/08/2005, 22h05
  5. Problemes avec des cellules vides
    Par arsgunner dans le forum ASP
    Réponses: 7
    Dernier message: 14/06/2004, 09h42

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