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 :

Ma sub se lance toute seule, pourquoi d'après vous ? [Débutant]


Sujet :

VB.NET

  1. #21
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Points : 145
    Points
    145
    Par défaut
    alors désolé si je n'ai pas été clair, je recommence
    - je mets mon point d’arrêt juste avant le end sub de Calcul_Click donc sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    accesvisiondepres.focus()
    - Je fais F5 et tout se déroule normalement jusqu'au point d'arret. A ce moment, la prochaine instruction qui sera effectuée sera - Je fais F8 et le calcul se fait (la sub calcul s'effectue) mais je ne vois absolument plus de ligne jaune donc je ne vois pas qui a fait appel a calcul.click
    serait ce un autre formulaire ?

    De plus, chose bizarre, les flèches de débogage deviennent grisées des que je suis sorti de la sub


  2. #22
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Citation Envoyé par Attila54 Voir le message
    - je mets mon point d’arrêt juste avant le end sub de Calcul_Click donc sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    accesvisiondepres.focus()
    - Je fais F5 et tout se déroule normalement jusqu'au point d'arret. A ce moment, la prochaine instruction qui sera effectuée sera
    Donc le calcul a été fait et vous êtes prêt à sortir de Calcul_Clic.
    [Edit] Petite précision, Non, quand vous ferez F8, c'est accesvisiondepres.focus() qui sera exécuté, et la ligne jaune passera sur le End Sub. [/Edit]

    Citation Envoyé par Attila54 Voir le message
    - Je fais F8 et le calcul se fait (la sub calcul s'effectue)
    Encore une fois ? je ne comprend pas le point d'arrêt était dans la sub de calcul_clic, juste avant la fin.


    Mettez le point d'arrêt carrément sur le end sub de Calcul_Clic, puis F8 quand vous êtes dessus.

    Citation Envoyé par Attila54 Voir le message
    mais je ne vois absolument plus de ligne jaune donc je ne vois pas qui a fait appel a calcul.click
    serait ce un autre formulaire ?
    Sinon c'était une méthode pour essayer de voir si un évènement que vous aviez programmé lancait le calcul.
    Si cela ne donne rien, il faut essayer d'autres méthodes.

    C'est quoi comme contrôle accesvisiondepres
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  3. #23
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    As-tu vérifié dans la pile des appels ?

    Parce que, si tu mets un point d'arrêt juste au début de ta "sub intempestive" et que tu regardes dans ta pile des appels, tu vas pouvoir "reculer" d'appel en appel.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  4. #24
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Points : 145
    Points
    145
    Par défaut
    Pour rv26t, j'ai mis le point d'arrêt carrément sur le end sub de Calcul_Clic, puis F8 quand je suis dessus. J'ai exactement le même resultat

    avant le clic sur f8:



    le calcul n'est pas fait, certaine textbox et autres images ne sont pas affichées. C'est normal, j'appelle cela etat 1

    Apres le clic sur f8:



    tout s'est rempli, c'est aussi normal et c'est ce que j'appelle etat2

    ce qui est anormal, c'est que je passe de l'etat1 a l'etat2 SANS appuyer sur le bouton calcul

    accesvisiondepres est la sub suivante :

    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
    'Acces a la vision de pres
        Private Sub Accesvisiondepres_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Accesvisiondepres.Click
            'on s'assure que tous les champs sont correctement remplis et que l'appui sur "calcul" a ete fait
            ''si non, on affiche un message d'erreur et on n'affiche pas le forulaire vision de pres
            If calculok = False Then
                messageaff = "Calculation has not been completed."
                infoaff = "Caution: modified value"
                MessageBox.Show(messageaff, infoaff, MessageBoxButtons.OK, MessageBoxIcon.Warning)
                'on affiche le bouton rond rouge et son commentaire en cas d'erreur
                OvalShapeok.Visible = False
                OvalShapeFalse.Visible = True
                DONE.Visible = False
                FAILED.Visible = True
            Else
                ''si oui, on affiche vision de pres avec nom, prenom, date de naissance et nom du praticien
                'on affiche le bouton rond vert et son commentaire en cas d'erreur
                nom = txtNOM.Text
                prenom = txtPRENOM.Text
                naissance = TxtNAISSANCE.Text
                nomdocteur = txtDocteur.Text
                OvalShapeok.Visible = False
                OvalShapeFalse.Visible = False
                DONE.Visible = False
                FAILED.Visible = False
     
                ' temporisation
                System.Threading.Thread.Sleep(1000)
                ' on affiche le formulaire visionde pres, vision de loin conserve ses données et affichages
                visiondepres.SIMAGE2P.Text = SIMAGE2.Text
                visiondepres.Show()
                visiondepres.Label3rd.Visible = False
                visiondepres.Label2nd.Visible = False
                visiondepres.Label1ST.Visible = True
            End If
        End Sub
    dans cette sub, on voit en commentaire :
    'on s'assure que tous les champs sont correctement remplis et que l'appui sur "calcul" a ete fait
    ''si non, on affiche un message d'erreur et on n'affiche pas le formulaire vision de pres
    c'est donc qu'à un moment j'ai un calculok = true qui ne devrait pas etre la non ?

    Et un autre truc que je viens de voir :
    si je mets un point d'arret au end sub de accesvisiondepres, que je fais f5 jusque la et apres, je fais f8, je devrais voir apparaitre le form visiondepres non ?
    Parce que la, il n'apparait pas

    pour clementmarcotte, j'ai bien vu le bouton pour retourner d'appels en appels mais quelle est vraiment ma sub intempestive ? c'est ce que je n'arrive pas a découvrir

  5. #25
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    pour clementmarcotte, j'ai bien vu le bouton pour retourner d'appels en appels mais quelle est vraiment ma sub intempestive ? c'est ce que je n'arrive pas a découvrir
    En fait, quand je parlais de sub intempestive, je pensais plus à celle qui se "lance toute seule".

    En principe, si tu as un point d'arrêt au début de la sub qui déclenche toute seule et que si tu remontes d'une coche dans la pile des appels, tu devrais voir, la dernière instruction exécutée avant d'arriver au point d'arrêt et avec le nom de la procédure qui la contient.

    Et aussi, ce qui se passe pourrait bien être le résultat, d'événements qui se déclenchent à la chaine après qu'un premier événement se soit déclenché, volontairement ou accidentellement.

    Cela pourrait se révéler un travail de moine, mais, en dernière extrémité, tu pourrais mettre un point d'arrêt, au début des procédures s'événements les plus susceptibles de se déclencher et de continuer au pas à pas. Mais comme disaient Obélix, Astérix et Panoramix en ramenant les pierres pour le palais de Jules César : "C'est long, très long, trop long".
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  6. #26
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Points : 145
    Points
    145
    Par défaut
    re clementmarcotte
    eh ben c'est un carnage et je suis completement perdu

    en supposant que c'est calcul.click la sub intempestive (puisque c'est elle qui déclenche le calcul), je mets un point d’arrêt sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Private Sub Calcul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calcul.Click
    je fais F5 normalement et tout s'execute absolument bien jusqu'à l'arrivée sur le point d'arret. Le calcul nest pas fait et j'ai donc l'etat1



    c'est ce que je veux

    Je clique maintenant sur le pas a pas sortant pour remonter et la .... paf .... le calcul se fait, j'ai l'etat2



    ce n'est pas ce que je veux puisque theoriquement calcul() n'est pas effectuee. De plus, je n'ai plus possibilite de faire du pas a pas, tout etant grise.

  7. #27
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par Attila54 Voir le message
    Je clique maintenant sur le pas a pas sortant pour remonter et la .... paf .... le calcul se fait, j'ai l'etat2
    Désolé, mais je ne suis pas sûr de bien comprendre. En principe, le pas à pas sortant est là pour terminer l'exécution d'un programme principal débuté en pas à pas, tout en désactivant le mode pas à pas pour les sous-programmes restants et reprendre le pas à pas au "End sub". Donc, si tu exécutes au pas à pas sortant un programme qui fait appel à 2 sous-programmes non encore exécutés; les deux sous-programmes sont exécutés en "mode normal", et tu n'as pas contrôlé ce qu'ont pu faire les sous-programmes.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  8. #28
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Citation Envoyé par MSDN
    Les points d'arrêt indiquent au débogueur qu'une application doit s'arrêter, interrompre son exécution, à un certain point. Lorsque l'interruption survient, le programme et le débogueur se mettent en mode arrêt
    Les points de trace sont une nouvelle fonctionnalité de débogage de Visual Studio. Un point de trace est un point d'arrêt auquel a été associée une action personnalisée. Lorsqu'un point de trace est atteint, le débogueur exécute l'action spécifiée par le point de trace au lieu, ou en plus, d'arrêter l'exécution du programme.

    Pour ma part (VS express 2012) j'utilise les points d'arrêt pour :
    • Tester que l'on passe bien dans une fonction
    • Gagner du temps en pas à pas, c'est à dire que je place mon point d'arrêt juste avant d'arriver dans le sac de noeuds à débugger, je lance avec F5, et une fois arrivé au point, je continue avec F11 (Pas-à-pas détaillé) pour suivre le parcours de la machine dans le code ligne par ligne



    Je ne me sers que du pas à pas détaillé(F11), et de l'execution avec déboguage(F5).
    Et je crois que quelqu'un l'avait déjà proposé, mais tu devrais mettre un point d'arrêt au début de ton Buttonload.Click, lorsque ce point est atteint, tu continues avec F11 (pas à pas détaillé), tu fais chaque ligne de la sub minutieusement et tu pourras suivre le parcours de ton code, n'hésite pas à continuer en pas à pas si buttonload.click fait appel à des fonctions/subs externes, tu verras bien si tu vas ou pas dans Calcul_Click.

    Je ne fais que répéter ce que proposent les autres, mais je ne vois pas d'autres solutions, et celle-ci n'a aucune raison de ne pas marcher ...
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  9. #29
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    Il me semble que vous êtes un peu brouillon dans le suivi des explications que l'on vous donne.
    Citation Envoyé par rv26t Voir le message
    .C'est quoi comme contrôle accesvisiondepres
    Citation Envoyé par Attila54 Voir le message
    accesvisiondepres est la sub suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Acces a la vision de pres
        Private Sub Accesvisiondepres_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Accesvisiondepres.Click
    Donc : Accesvisiondepres_Click est une sub
    accesvisiondepres doit être un contrôle bouton.
    ____________________________________________

    Bon, la seule explication que je vois a
    Citation Envoyé par Attila54 Voir le message
    je mets mon point d’arrêt juste avant le end sub de Calcul_Click
    - Je fais F5
    - Je fais F8
    chose bizarre, les flèches de débogage deviennent grisées des que je suis sorti de la sub

    j'ai mis le point d'arrêt carrément sur le end sub de Calcul_Clic, puis F8 quand je suis dessus. J'ai exactement le même resultat
    c'est que la réception du focus sur le bouton ( ligne Calcul.Focus() dans Buttonload_Click ) déclenche un évènement. (peut-être Calcul_Clic) qui pourra être suivi dans le debugger que lorsque la sub Buttonload_Click sera fini par le F5. Ce qui fait que lorsque vous sortez de la sub Calcul_Clic tout est fini les éléments de débug sont fini et vous avez la main sur votre fenêtre utilisateur.

    Allez sur le bouton calcul, allez dans la fenêtre des propriétés, cliquez sur le bouton évènements (petit éclair), la liste des évènements du bouton apparaît.
    Regardez l'évènement Enter (si une sub est attribuée)
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  10. #30
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Points : 145
    Points
    145
    Par défaut
    Bonjour a tous

    pour rv26t :
    Allez sur le bouton calcul, allez dans la fenêtre des propriétés, cliquez sur le bouton évènements (petit éclair), la liste des évènements du bouton apparaît.
    Regardez l'évènement Enter (si une sub est attribuée)
    je n'ai rien d'attribué sur l'event enter du boutton calcul

    Donc : Accesvisiondepres_Click est une sub
    accesvisiondepres doit être un contrôle bouton.
    j'avoue que je ne comprends pas ce que tu veux dire.

  11. #31
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Dans la sub Buttonload_Click

    Il est peu probable qu'un calcul soit lancé pendant le chargement des données d'Excel. (supposition qui reste a vérifier, hein)

    Que se passe-t-il dans CloseAppExcel() ? (normalement juste la fermeture)

    Pour les contrôles modifiés ou utilisés une fois les données chargées.

    • les contrôles (TextBox ou Label ?) UOZMAX, UOZMIN, UOZMEAN : aucun évènement.
    • le contrôle bouton Calcul : Calcul_Clic dans l'évènement Clic. (aucun autre évènement).


    Pouvez-vous vérifier cela ?

    [Edit]Et aussi les évènements des contrôles Pseudo, relift et other (au cas ou)[/Edit]
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  12. #32
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Points : 145
    Points
    145
    Par défaut
    bonjour rv26t

    sur buttonload.click j'ai un calcul et des affichages :
    voila la sub sachant que initialisernouveaupatient() ne fait que mettre les textbox en forecolor = color.purple)

    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    Private Sub Buttonload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonload.Click
            Initialisernouveaupatient()
            ' Fichier Excel
            Dim CheminFicher As String
            Dim BoiteDialogue As New OpenFileDialog
            txtDocteur2.Text = txtDocteur.Text
            If AppExcel IsNot Nothing Then
                MessageBox.Show("Excel Worksheet is closing please wait")
                If xlWorkSheetOne IsNot Nothing Then
                    xlWorkSheetOne = Nothing
                End If
                If xlWorkbook IsNot Nothing Then
                    xlWorkbook.Close()
                    xlWorkbook = Nothing
                End If
                AppExcel.Quit()
                AppExcel = Nothing
            End If
    With BoiteDialogue
                ' Initialisation de la boite de dialogue
                .Title = "Load Data"
                .InitialDirectory = "\D:\encours\"
                .Filter = "Fichiers Excel |*.xls; *.xlsx"
     
                ' vérification de la séléction
                If .ShowDialog() = System.Windows.Forms.DialogResult.OK Then
                    CheminFicher = .FileName
                Else
                    MessageBox.Show("Aucun fichier Excel séléctionné")
                    Exit Sub ' Abandon de la routine
                End If
                'ouvre l'onglet 1 de l'application
                AppExcel = New OXL.Application
                xlWorkbook = AppExcel.Workbooks.Open(CheminFicher)
                xlWorkSheetOne = CType(xlWorkbook.Worksheets(1), Microsoft.Office.Interop.Excel.Worksheet)
                AppExcel.Visible = False
     
                'chargement des data en Textbox 
                Dim rng As OXL.Range = Nothing
     
                rng = CType(Me.xlWorkSheetOne.Cells(10, 4), Microsoft.Office.Interop.Excel.Range)
                Me.tbDestinaraire.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(10, 6), Microsoft.Office.Interop.Excel.Range)
                Me.txtPRENOM.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(10, 7), Microsoft.Office.Interop.Excel.Range)
                Me.txtNOM.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(10, 8), Microsoft.Office.Interop.Excel.Range)
                Me.TxtNAISSANCE.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(10, 10), Microsoft.Office.Interop.Excel.Range)
                Me.Txtpseudo.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(10, 14), Microsoft.Office.Interop.Excel.Range)
                Me.Txtrelift.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(22, 16), Microsoft.Office.Interop.Excel.Range)
                Me.TextBoxosod.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(16, 2), Microsoft.Office.Interop.Excel.Range)
                Me.S.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(16, 3), Microsoft.Office.Interop.Excel.Range)
                Me.C.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(16, 4), Microsoft.Office.Interop.Excel.Range)
                Me.AXE.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(16, 8), Microsoft.Office.Interop.Excel.Range)
                Me.SC.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(16, 9), Microsoft.Office.Interop.Excel.Range)
                Me.CC.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(16, 10), Microsoft.Office.Interop.Excel.Range)
                Me.AC.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(16, 5), Microsoft.Office.Interop.Excel.Range)
                Me.DVA.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(16, 6), Microsoft.Office.Interop.Excel.Range)
                Me.ADD.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(16, 7), Microsoft.Office.Interop.Excel.Range)
                Me.NVA.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(16, 14), Microsoft.Office.Interop.Excel.Range)
                Me.K1.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(16, 15), Microsoft.Office.Interop.Excel.Range)
                Me.K2.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(22, 2), Microsoft.Office.Interop.Excel.Range)
                Me.QIRIGHT.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(22, 10), Microsoft.Office.Interop.Excel.Range)
                Me.QILEFT.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(22, 9), Microsoft.Office.Interop.Excel.Range)
                Me.PACHY.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(22, 8), Microsoft.Office.Interop.Excel.Range)
                Me.ACD.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(22, 7), Microsoft.Office.Interop.Excel.Range)
                Me.AL.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(22, 4), Microsoft.Office.Interop.Excel.Range)
                Me.Pupilphoto.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(22, 5), Microsoft.Office.Interop.Excel.Range)
                Me.Pupilmeso.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(22, 6), Microsoft.Office.Interop.Excel.Range)
                Me.Pupilmax.Text = CType(rng.Value, String)
     
                rng = CType(Me.xlWorkSheetOne.Cells(10, 3), Microsoft.Office.Interop.Excel.Range)
                If Not txtDocteur.Items.Contains(rng.Value) Then
                    txtDocteur.Items.Add(rng.Value)
                    txtDocteur2.Text = txtDocteur.Text
                End If
                txtDocteur.SelectedItem = (rng.Value)
                txtDocteur2.Text = txtDocteur.Text
     
     
               'Affichage de Etiqoeiltraite
                If TextBoxosod.Text = "OS" Then
                    indiceoeil = 0
                    Etiqoeiltraite.Text = "OS"
                    Etiqoeiltraite.ForeColor = Color.Lime
                    PictureBoxleft.Visible = True
                    PictureBoxleft2.Visible = False
                    PictureBoxright.Visible = False
                    PictureBoxright2.Visible = True
                End If
                If TextBoxosod.Text = "OD" Then
                    indiceoeil = 1
                    Etiqoeiltraite.Text = "OD"
                    Etiqoeiltraite.ForeColor = Color.Lime
                    PictureBoxleft2.Visible = True
                    PictureBoxleft.Visible = False
                    PictureBoxright2.Visible = False
                    PictureBoxright.Visible = True
                End If
     
         'calcul de deltaqi
                If Txtrelift.Text = "N" Then
                    deltaqi.Text = (Math.Abs(CDbl(QILEFT.Text)) - Math.Abs(CDbl(QIRIGHT.Text))).ToString("0.00")
                End If
                If Txtrelift.Text = "Y" Then
                    deltaqi.Text = "0.00"
                End If
     
                'cas de traitement pseudophake
                If Txtpseudo.Text = "Y" Then
                    Pseudo.Checked = True
                    Pseudo.ForeColor = Color.Lime
                Else
                    Pseudo.Checked = False
                    Pseudo.ForeColor = Color.White
                End If
     
                'cas de relift
                If Txtrelift.Text = "N" Then
                    relift.Checked = False
                    relift.ForeColor = Color.White
                Else
                    relift.Checked = True
                    relift.ForeColor = Color.LimeGreen
                End If
                CloseAppExcel()
                System.Threading.Thread.Sleep(2000)
     
                Dim dossierDest As String = "\D:\traites"
                Dim nomFichierCourt As String = System.IO.Path.GetFileName(CheminFicher)
                Dim cheminCompletFichierDest = System.IO.Path.Combine(dossierDest, nomFichierCourt)
                If System.IO.Directory.Exists(dossierDest) Then
                    If System.IO.File.Exists(cheminCompletFichierDest) Then
                        System.IO.File.Delete(cheminCompletFichierDest)
                    End If
                    System.IO.File.Move(CheminFicher, cheminCompletFichierDest)
                End If
                Calcul.Focus()
            End With
            UOZMAX.Text = ""
            UOZMIN.Text = ""
            UOZMEAN.Text = ""
        End Sub
    Pour moi, CloseAppExcel() ne fait que fermer le fichier excel après chargement des paramètres (encore que a chaque fois, excel reste dans les process du gestionnaire de tâches)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CloseAppExcel()
            'procedure de fermeture du fichier excel
            If xlWorkSheetOne IsNot Nothing Then
                xlWorkSheetOne = Nothing
            End If
            If xlWorkbook IsNot Nothing Then
                xlWorkbook = Nothing
            End If
            If AppExcel IsNot Nothing Then
                AppExcel.Quit()
                AppExcel = Nothing
            End If
        End Sub
    aucun event pour UOZ MIN, MEAN et MAX et effectivement, event calcul_click uniquement sir click. Pas d'autre event.

    J'avoue ne plus rien comprendre

  13. #33
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Afin de t'aider, peux-tu nous envoyer un zip de ton appli avec les fichiers de ressources ? (Et le .sln)
    Tu es bien sûr libre de refuser ce que je comprendrais tout à fait, mais ce serait plus simple (rapide ?) pour nous, je suppose.
    Quitte à fausser les données du fichier excel.
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  14. #34
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Points : 145
    Points
    145
    Par défaut
    c'est en cours ....

  15. #35
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    tant de blabla pour 3 points d'arret et une pile des appels à regarder ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  16. #36
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Points : 145
    Points
    145
    Par défaut
    J'essaye juste de comprendre ce qui ne vas pas et pourquoi ni plus ni moins.

  17. #37
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Points : 145
    Points
    145
    Par défaut
    ça y est, le souci est résolu notamment grâce a sankasssss et a vous tous.

    Le problème était ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Private Sub txtDocteur_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDocteur.SelectedIndexChanged
            Initialisecolor()
            txtPRENOM.BackColor = Color.Purple
            SendKeys.Send("{ENTER}") ' <--- CETTE LIGNE
        End Sub
    qui envoie une touche enter et vu que je changeais le focus sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Buttonload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonload.Click
        ...
        Calcul.Focus()
     End Sub
    le calcul s'effectuait donc.

    Encore merci a tous pour votre aide et votre patience

  18. #38
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Citation Envoyé par Attila54 Voir le message
    ça y est, le souci est résolu notamment grâce a sankasssss et a vous tous.

    Le problème était ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Private Sub txtDocteur_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDocteur.SelectedIndexChanged
            Initialisecolor()
            txtPRENOM.BackColor = Color.Purple
            SendKeys.Send("{ENTER}") ' <--- CETTE LIGNE
        End Sub
    qui envoie une touche enter et vu que je changeais le focus sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Buttonload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonload.Click
        ...
        Calcul.Focus()
     End Sub
    le calcul s'effectuait donc.

    Encore merci a tous pour votre aide et votre patience
    J'y étais presque avec ma 1ére idée.

    Citation Envoyé par _Ez3kiel Voir le message
    Tu appuies sur le BoutonLoad avec la touche entrée ?
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  19. #39
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Points : 145
    Points
    145
    Par défaut
    oui d'entrée de jeu .... c’était carrément bien vu

  20. #40
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Citation Envoyé par _Ez3kiel Voir le message
    J'y étais presque avec ma 1ére idée.
    Yes, avec un mix de nos deux réponses on était bon :
    Citation Envoyé par Sankasssss Voir le message
    Aussi non, fait une petite recherche sur Calcul_Click dans l'éditeur pour voir si tu ne l’appellerais pas d'une autre sub du genre un CheckBox_Checked.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Macro qui se lance toute seule, sans mon autorisation
    Par csempere dans le forum VBA Word
    Réponses: 5
    Dernier message: 06/06/2009, 09h10
  2. Tri personnalisé qui se lance tout seul
    Par zert84 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/09/2008, 12h35
  3. [webcam] qui se lance toute seule
    Par zodd dans le forum Sécurité
    Réponses: 7
    Dernier message: 20/02/2008, 10h22
  4. Find se lance tout seul
    Par kromartien dans le forum Administration système
    Réponses: 3
    Dernier message: 08/11/2007, 14h45
  5. Un evenement qui se lance tout seul ?
    Par insane_80 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/03/2007, 17h17

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