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

Macros et VBA Excel Discussion :

VBA problème avec fin de programme sans message d'erreur mais variable hors du contexte [XL-2000]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué

    Profil pro
    Consultant Business Intelligence
    Inscrit en
    Novembre 2005
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant Business Intelligence

    Informations forums :
    Inscription : Novembre 2005
    Messages : 284
    Points : 186
    Points
    186
    Par défaut VBA problème avec fin de programme sans message d'erreur mais variable hors du contexte
    Bonjour,

    J'ai un petit problème, J'ai une procédure Principale qui appelle une procédure de Facturation d'un produit avec un simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Case FactureType
     
    CASE "MaFactureType" CALL MaFacture
    Dans la procédure, il y a une condition appel d'une procédure EviterTicketOUDoublon 'Dans le tableau qui contient les produits à facturer si l il manque 1 contrat, il y a un ticket et on ne facture pas et on passe à la ligne 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
     
    If Sheets(sData).Cells(ChRow, fMid).Value = fdDuo Then GoTo EviterTicketsOuDoublons
     
        With Sheets(chTab)
        .Cells(j, 1).Value = Sheets(sData).Cells(ChRow, Fval1)
        .Cells(j, 2).Value = Sheets(sData).Cells(ChRow, Fval2)
        .Cells(j, 3).Value = Sheets(sData).Cells(ChRow, Fval3)
        .Cells(j, 4).Value = Sheets(sData).Cells(ChRow, Fval4)
        .Cells(j, 5).Value = Sheets(sData).Cells(ChRow, Fval5)
        .Cells(j, 6).Value = Sheets(sData).Cells(ChRow, Fval6)
        .Cells(j, 12).FormulaR1C1 = "=RC[-1]*RC[-2]"
        End With
     
        fdDuo = Sheets(sData).Cells(ChRow, fMid)
        j = j + 1
        k = k + 1
     
        If faFinal = "Final" Then Call historiserFinal
    Si c'est une facture finale, il y a un onglet d'historique ou chaque ligne de la facture est inscrite sinon non :
    l'appel de l'historisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub historiserFinal()
     
    If Sheets(sData).Cells(ChRow, fTik).Value <> 0 Then GoTo Fin
     
     With Sheets(sHisto)
        .Cells(j, 1).Value = Sheets(sData).Cells(ChRow, Fval1)
        .Cells(j, 2).Value = Sheets(sData).Cells(ChRow, Fval2)
        .Cells(j, 3).Value = Sheets(sData).Cells(ChRow, Fval3)
        .Cells(j, 4).Value = Sheets(sData).Cells(ChRow, Fval4)
        .Cells(j, 5).Value = Sheets(sData).Cells(ChRow, Fval5)
        .Cells(j, 6).Value = Sheets(sData).Cells(ChRow, Fval6)
        .Cells(j, 12).FormulaR1C1 = "=RC[-1]*RC[-2]"
     End With
    La première ligne est historisée ensuite fin du programme sans message d'erreur mais dans le mode debug un espin chRow à la valeur <Hors du contexte>.

    Merci si quelqu'un peut m'aider

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Bonsoir,

    et ta variable est déclarée ou ??


    pense aussi à mettre en première ligne de toutes tes pages de code la ligne :

    cela t'aideras à comprendre la portée de tes variables...

  3. #3
    Membre habitué

    Profil pro
    Consultant Business Intelligence
    Inscrit en
    Novembre 2005
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant Business Intelligence

    Informations forums :
    Inscription : Novembre 2005
    Messages : 284
    Points : 186
    Points
    186
    Par défaut
    Merci,

    la variable est déclaré ainsi dans le module Facturer qui contient les procédures de facturation des différents type de produits :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Option Explicit
    Public ChRow

  4. #4
    Membre habitué

    Profil pro
    Consultant Business Intelligence
    Inscrit en
    Novembre 2005
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant Business Intelligence

    Informations forums :
    Inscription : Novembre 2005
    Messages : 284
    Points : 186
    Points
    186
    Par défaut
    Bonsoir,

    Pas de solution, ou de direction? personne n'a eu ce problème? J'ai trouvé que ça sur le net mais je comprend pas bien...http://www.xtremevbtalk.com/showthread.php?t=308676

    Si ça dis qqch à quelqu'un? ce serait sympa de répondre..

  5. #5
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Difficile de t'aider avec ces morceaux de code car on ne voit pas où les variables sont initialisées. Il serait peut être judicieux de poster le code en entier y compris les variables déclarées en tête de module.

    Hervé.

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Bonjour,

    ton message d'erreur semble du à une mauvaise utilisation du debugger .. place un point d'arrêt sur la ligne causant problème et une fois à l'arrêt utilise le bouton droit de la souris pour placer ta variable dans ta table de visu ...

  7. #7
    Membre habitué

    Profil pro
    Consultant Business Intelligence
    Inscrit en
    Novembre 2005
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant Business Intelligence

    Informations forums :
    Inscription : Novembre 2005
    Messages : 284
    Points : 186
    Points
    186
    Par défaut
    Ok merci,

    je post lundi là fin des vacances mais je jette un coup d’œil quand même...

  8. #8
    Membre habitué

    Profil pro
    Consultant Business Intelligence
    Inscrit en
    Novembre 2005
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant Business Intelligence

    Informations forums :
    Inscription : Novembre 2005
    Messages : 284
    Points : 186
    Points
    186
    Par défaut
    Si jamais quelqu'un a le même problème : la variable qui posait problème existait bien dans le module principal Facturer mais dans la sous-procédure elle n'était pas assigné...problème résolu...

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

Discussions similaires

  1. problème avec l'apostrophe dans une requête
    Par mika0102 dans le forum VBA Access
    Réponses: 7
    Dernier message: 09/03/2019, 16h51
  2. [VBA-E]Détection de feuilles inexistantes sans message d'erreur
    Par Jipété dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/11/2006, 08h39
  3. [VBA]problème avec le debogage
    Par norkius dans le forum Access
    Réponses: 1
    Dernier message: 22/05/2006, 14h15
  4. [VBA] Problème avec composant VB6
    Par Diablo_22 dans le forum Général VBA
    Réponses: 8
    Dernier message: 16/03/2006, 20h41
  5. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 13h24

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