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 :

Lignes de programme non executées [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    No
    Inscrit en
    Février 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : No

    Informations forums :
    Inscription : Février 2018
    Messages : 47
    Par défaut Lignes de programme non executées
    Hello,

    J'ai dans une programme VBA une ligne qui ne s'exécute pas, alors que si j'exécute en "pas à pas" elle est prise en compte!

    Merci si vous avez une explication ….et une solution à ce mystère.

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,

    Toutes nos boules de cristal sont confinées, essaies de mettre un grand miroir connecté face à ton écran pour qu'on puisse voir à quoi ressemble ta macro.

    Si tu n'as pas de miroir connecté, publies le code de la macro dans ton prochain post (en indiquant quelle ligne ne s'exécute pas).

  3. #3
    Membre averti
    Homme Profil pro
    No
    Inscrit en
    Février 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : No

    Informations forums :
    Inscription : Février 2018
    Messages : 47
    Par défaut
    Merci Patrick,

    Ci-joint

    Je veux ouvrir le classeur2 par une macro qui se trouve dans classeur1 (si classeur2 n'est pas déjà ouvert)
    Classeur1 et classeur2 dans le même répertoire
    Je veux revenir à classeur1 après ouverture de classeur2.

    Avec le programme ci-joint pas de problème ça marche.
    Mais avec mes fichiers réels ça ne marche pas. Je ne reviens pas à classeur1.
    Ce n'est pas semble-t-il un problème de programme mais de fichier (trop gros, trop de macros)? de synchro ? d'excel ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Workbooks("Classeur2.xlsm").Activate
    If Err.Number <> 0 Then
        chemin = ActiveWorkbook.Path
        Workbooks.Open chemin & "\Classeur2.xlsm"
    End If
    On Error GoTo 0
    Workbooks("Classeur1").Activate
    merci à ceux qui auraient déjà rencontré ce type de problème ou qui auraient des idées

  4. #4
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Quand tu publies un code, il faut utiliser le bouton # pour le baliser :
    démonstration de l'utilisation du bouton code (#)

    Ton code est partiel, il faut la totalité du code qui pose problème (pas d'un exemple).

  5. #5
    Membre averti
    Homme Profil pro
    No
    Inscrit en
    Février 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : No

    Informations forums :
    Inscription : Février 2018
    Messages : 47
    Par défaut
    Merci Patrice,

    Le code ne vous apprendra rien puisqu'il fonctionne dans la casi totalité des cas ! Et toujours quand il est exécuté pas a pas.

    Son principe est donc OK.

    Dans le cas qui m'occupe avec des fichiers dont je me sers, il ne fonctionne pas.
    Ma question s'adresse donc à des développeurs qui auraient déjà rencontre ce type d'anomalie explicable (? peut être) par d'autres raisons que le code. Mémoire ? Machine, Excel ? Tempo

  6. #6
    Membre averti
    Homme Profil pro
    No
    Inscrit en
    Février 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : No

    Informations forums :
    Inscription : Février 2018
    Messages : 47
    Par défaut
    Bonjour

    En fait ma question plus générale est "Comment expliquer qu'un programme fonctionne en pas a pas et ne fonctionne pas s'il s'execute en continu.

    Merci pour vos infos

  7. #7
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Citation Envoyé par mikhaelN Voir le message
    Le code ne vous apprendra rien puisqu'il fonctionne dans la casi totalité des cas ! Et toujours quand il est exécuté pas a pas.
    Son principe est donc OK.
    Au vu de la partie publié, il manque des informations pour être affirmatif sur la cause exacte, mais une chose est certaine: son principe n'est pas Ok dans 100% des cas, loin de là !

    Citation Envoyé par mikhaelN Voir le message
    En fait ma question plus générale est "Comment expliquer qu'un programme fonctionne en pas a pas et ne fonctionne pas s'il s'execute en continu.
    Il y a de nombreuses raisons possibles, notamment le multithread.

  8. #8
    Membre averti
    Homme Profil pro
    No
    Inscrit en
    Février 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : No

    Informations forums :
    Inscription : Février 2018
    Messages : 47
    Par défaut
    Merci Patrice pour cette piste.
    Je vais me renseigner sur le multithread

  9. #9
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Je l'aurais ecrit comme ça :
    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
    Option Explicit
    Sub Bilan_PP()
    Dim wbkMaster As Workbook
    Dim wbkOpen As Workbook
      Set wbkMaster = ActiveWorkbook
      'Verif ouverture fichier a traiter
      On Error Resume Next
      Set wbkOpen = Workbooks("OPeration_PP.xlsm")
      On Error GoTo 0
      If wbkOpen Is Nothing Then
        'Si fichier a traiter non encore ouvert
        On Error Resume Next
        Set wbkOpen = Workbooks.Open(wbkMaster.Path & "\OPeration_PP.xlsm")
        On Error GoTo 0
        If wbkOpen Is Nothing Then Err.Raise 53
      End If
      'reactive fichier mster_fich
      wbkMaster.Activate
    End Sub

  10. #10
    Membre averti
    Homme Profil pro
    No
    Inscrit en
    Février 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : No

    Informations forums :
    Inscription : Février 2018
    Messages : 47
    Par défaut
    Merci Patrice

    C'est écrit dans une langue (langage) plus académique
    Le traitement de err 53 semble avoir été oublié.

    Bien cordialement

  11. #11
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Citation Envoyé par mikhaelN Voir le message
    C'est écrit dans une langue (langage) plus académique
    Le traitement de err 53 semble avoir été oublié.
    Au contraire, l'erreur 'Fichier introuvable' est volontairement provoquée !
    Libre à toi de traiter ce cas différemment.

    Edit : pas plus académique, mais plus propre.
    Quoique j'aurais pu me passer totalement des On Error.

  12. #12
    Membre averti
    Homme Profil pro
    No
    Inscrit en
    Février 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : No

    Informations forums :
    Inscription : Février 2018
    Messages : 47
    Par défaut
    Patrice,

    J'abuse une dernière fois de tes compétences.
    Comment fais tu pour te passer des "On error" en particulier de celui de la ligne 7.

    Cordialement

  13. #13
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Citation Envoyé par mikhaelN Voir le message
    Comment fais tu pour te passer des "On error" en particulier de celui de la ligne 7.
    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
    Option Explicit
    Sub Bilan_PP()
    Dim wbkMaster As Workbook
    Dim wbkOpen As Workbook
    Dim wbk As Workbook
    Dim ouvert As Boolean
    Dim nomComplet As String
      Set wbkMaster = ActiveWorkbook
      'Verif ouverture fichier a traiter
      For Each wbk In Workbooks
        If wbk.Name = "OPeration_PP.xlsm" Then ouvert = True
      Next wbk
      If Not ouvert Then
        nomComplet = wbkMaster.Path & "\OPeration_PP.xlsm"
        'Si fichier a traiter non encore ouvert
        If Dir(nomComplet) <> "" Then
          Set wbkOpen = Workbooks.Open(nomComplet)
        Else
          MsgBox "Fichier introuvable : " & vbCrLf & nomComplet, vbCritical
        End If
      End If
      'reactive fichier mster_fich
      wbkMaster.Activate
    End Sub

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/11/2009, 10h40
  2. [VBA-E] liens entre les userform et reduction des lignes de programme
    Par jamelie dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/05/2006, 12h43
  3. Réponses: 4
    Dernier message: 01/05/2006, 14h37
  4. [C#] Requete non executés
    Par ducker88 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/07/2005, 10h55
  5. css non execute
    Par hunter dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 13/05/2005, 09h11

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