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 de lecture de fichier Excel sous Access


Sujet :

VBA Access

  1. #1
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut Probleme de lecture de fichier Excel sous Access
    Bonjour.

    J'ai un problème lors de l'importation d'un fichier Excel sous Access.

    En effet j'ai une fonction qui parcour chaque ligne du fichier. Pour chaque ligne la fonction récupère la valeur de la cellule à la colonne spécifier. Ensuite elle récupère la valeur de la cellule à la colonne spécifier +2.

    Voici le code de récupération de la donné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INT_Id_Code = CInt(.Cells(INT_ligne_defil, INT_col_code_commer).Value) 'BUG => renvoie toujours 0
    Lors de la lecture de ma première cellule cela me renvoie toujours 0 alors que je suis sur qu'il y a une autre valeur contenu dedans.

    J'ai la même ligne de code pour récupérer la valeur de la cellule deux colonnes plus loin et cette fois ça fonctionne très bien et me renvois la bonne valeur.

    J'avoue ne pas comprendre. Cela viendrait-il de la cellule?

    P.S : Ce n'est pas moi qui ai fait ce fichier Excel
    P.S2 : J'enlève tous les filstres à l'ouverture du fichier Excel
    P.S3 : j'ai vérifié en mode pas à pas que je suis bien sur la bonne celulle.

    Merci d'avance pour vos réponses

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 354
    Points
    34 354
    Par défaut
    lut,
    le .cells il est attaché à quel With stp ?

  3. #3
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut
    Bonjour.

    Voici le With qui attache la cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Set OBJ_Appli_Excel = CreateObject("Excel.Application")
        'enlève les messages d'alertes
        OBJ_Appli_Excel.DisplayAlerts = False
     
        Set OBJ_Classeur_Excel = OBJ_Appli_Excel.Workbooks.Open(Filename:=VAR_chemin_fichier)
     
        On Error Resume Next
        OBJ_Classeur_Excel.Sheets("RECAP").Select
     
        With OBJ_Classeur_Excel.ActiveSheet
    Merci de ton aide

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 354
    Points
    34 354
    Par défaut
    oki, chez moi ca fonctionne, mais les valeurs INT_ligne_defil et INT_col_code_commer peuvent opser problème. Tu es sur la bonne cellule, de la bonne feuille ? essaie de voir un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    debug.print .Cells(INT_ligne_defil, INT_col_code_commer).Value

  5. #5
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut
    Et bin merci de l'idée. Du coup il en ressort que quand je met Cint(...) ça marche pas et que sinon la valeur s'affiche bien dans le Debug.

    Par contre toujours rien du coté de l'affectation de ma variable.

    MERCI

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 354
    Points
    34 354
    Par défaut
    et à la place du Cint, un Clng ? peut-être un dépassement des bornes ?
    un passage par une variable intermédiaire sinon ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim a 
    a = .Cells(INT_ligne_defil, INT_col_code_commer).Value
    INT_Id_Code = Cint(a)

  7. #7
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut
    Bonjour.

    Alors deux choses :

    -D'abord MERCI pour ton aide .
    -Ensuite MERCI de tes remarques qui m'ont permise de trouver le problème.

    Et juste pour information, le problème venais du fait que la valeur récupéré dépassait la limite maximal du type de ma variable. Ma variable étant un "Integer" la limite est de 32767. J'ai donc passé le type de ma variable en "Long" et tout fonctionne super bien.

    MERCI

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

Discussions similaires

  1. Lecture automatique fichiers Excel sous BIRT
    Par Florent_45 dans le forum BIRT
    Réponses: 5
    Dernier message: 17/09/2012, 15h04
  2. Réponses: 5
    Dernier message: 13/02/2012, 19h37
  3. Réponses: 3
    Dernier message: 15/02/2011, 19h46
  4. Probleme de generation dun fichier excel sous vb.net
    Par l_achraf dans le forum Windows Forms
    Réponses: 8
    Dernier message: 29/12/2008, 23h13
  5. Integrer fichier excel sous Access
    Par TonyDublin dans le forum Access
    Réponses: 2
    Dernier message: 10/09/2008, 15h50

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