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

VB.NET Discussion :

Problème Excel avec Vb net [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Par défaut Problème Excel avec Vb net
    Bonjour tout le monde,

    Le problème est :

    Je crée un fonction qui va chercher une valeur dans un fichier Excel, et après, elle va retourner cette valeur. Cette fonction est appelée dans une boucle.

    Mais ça blogue, car l'application Excel ne ferme pas. Du coup, on lance beaucoup de "Excel.exe" et au bout d'un moment, ça blogue l'ordinateur. Mais pourtant, à la fin de cette fonction, j'ai écrit des instructions qui ferme et qui libère l'espace.

    Help ... Merci
    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
    60
    61
    Public Function ReadLine(ByVal MenuPara As String) As Byte
            Dim Var As Byte
            Dim NumOfVg As Byte
            Dim Menu As Integer
            Dim Para As Integer
     
            'Tous les variables pour base.xls
            Dim AppExcel As Excel.Application
            Dim BookExcel As Excel.Workbook
            Dim SheetExcel As Excel.Worksheet
     
            'Tous les variables pour position.xls
            Dim AppExcel1 As Excel.Application
            Dim BookExcel1 As Excel.Workbook
            Dim SheetExcel1 As Excel.Worksheet
     
            '*********************** Traitement des données dans " position.xls"*******************************
            ' Ouverture de l'application: recherche la postion spécifique dans position.xls
            AppExcel1 = New Excel.Application
     
            'Exemple 512
            Menu = Convert.ToInt32(Menu, 10) \ 100  ' On aura 5
            Para = Convert.ToInt32(Menu, 10) Mod 100 ' On aura 12
     
            'Ouverture du fichier base.xls
            BookExcel1 = AppExcel1.Workbooks.Open("C:\position.xls")
            SheetExcel1 = BookExcel1.Worksheets(1)
     
            Var = SheetExcel1.Cells(Para, Menu).value 'Numéro de ligne ou se trouve tous les infos d'un ID spécifique
     
     
     
            '*******************************************************************************************************
     
            '***********************Traitement des données dans base.xls*******************************************
     
            ' Ouverture de l'application: recherche la postion spécifique dans base.xls
            AppExcel = New Excel.Application
     
            'Ouverture du fichier base.xls
            BookExcel = AppExcel.Workbooks.Open("C:\base.xls")
            SheetExcel = BookExcel.Worksheets(1)
     
            'retraire le nombre de vigule d'un ID spécifique, qui se trouve forcement en colonne numéro 7
            NumOfVg = SheetExcel.Cells(Var, 7).value
     
            Return NumOfVg
     
            'Désallocation mémoire
            BookExcel1.Close()
            AppExcel1.Quit()
            BookExcel.Close()
            AppExcel.Quit()
     
            'Désallocation mémoire
            BookExcel1 = Nothing
            SheetExcel1 = Nothing
            BookExcel = Nothing
            SheetExcel = Nothing
            '*******************************************************************************************************
        End Function

  2. #2
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Dans une fonction, l'instruction return provoque la sortie de la fonction. Ton code qui ferme et libère la mémoire n'est donc jamais exécuté car tu sors de ta fonction juste avant.

    Place le return juste après et cela devrait aller mieux.

    Griftou.

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Par défaut
    Citation Envoyé par griftou Voir le message
    Dans une fonction, l'instruction return provoque la sortie de la fonction. Ton code qui ferme et libère la mémoire n'est donc jamais exécuté car tu sors de ta fonction juste avant.

    Place le return juste après et cela devrait aller mieux.

    Griftou.
    Merci Griftou, je vais essayer et je te dirai !!! Ouai !!

  4. #4
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Par défaut
    Citation Envoyé par griftou Voir le message
    Dans une fonction, l'instruction return provoque la sortie de la fonction. Ton code qui ferme et libère la mémoire n'est donc jamais exécuté car tu sors de ta fonction juste avant.

    Place le return juste après et cela devrait aller mieux.

    Griftou.
    Ouai, c'est bon. En fait,aussi il y a un petite erreur dans mon code, du coup ..hahaha ..
    Merci bien Griftou !!

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

Discussions similaires

  1. Pilotage d'Excel avec VB.NET : problème paramètre xlDown
    Par Paenitentia dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/12/2009, 15h03
  2. Problème bizarre avec VB.Net 2003
    Par mouloudéen dans le forum Windows Forms
    Réponses: 2
    Dernier message: 01/01/2008, 19h58
  3. excel avec vb.net
    Par kluster dans le forum VB.NET
    Réponses: 3
    Dernier message: 19/12/2007, 14h47

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