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 :

Panne d'exécution du code [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    544
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 544
    Par défaut Panne d'exécution du code
    Bonsoir,
    J'ai créé une base de données sous Excel (déconseillé, n'est-ce pas ?) contenant des données généalogiques, avec un événement (naissance, mariage, décès) par ligne. Pour introduire ces données dans mon soft de généalogie, je dois les convertir en document texte comportant divers tags.
    J'ai donc écrit un programme en BVA qui lit les données dans la feuille Excel et les convertit en texte en intercalant les tags, puis un autre module (sub) ouvre Word et imprime le document texte.
    J'ai testé mon code sur les 3 premières pages de la sortie Word et il fonctionne. Le problème: quand je veux imprimer tous les enregistrements d'une feuille Excel, l'impression s'arrête au cours de la 3ème page. Après l'impression, le code enregistre le document et la sauvegarde s'arrête au même endroit. Je n'ai pas trouvé de raison à cette panne.
    J'ai testé le code manuellement et la boucle For...Next qui passe d'une ligne Excel à l'autre fonctionne normalement. Question: est-ce qu'une variable de type String comporte une limite en nombre de caractères ? Comment se fait-il que le programme bifurque sur le module d'impression au milieu d'une page et ignore la suite ?
    Si quelqu'un a une idée, je suis preneur, avec gratitude.
    Cordialement
    touche_a_tout

  2. #2
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    Bonjour

    Là comme ça sans voir ni le fichier ni le code pour tester je te dirais de vérifier si tu n'as pas un caractère spécial non affiché qu'il interprèterait mal...

  3. #3
    Membre éclairé Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    544
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 544
    Par défaut Panne d'exécution du code
    Bonjour et merci Alex !
    J'ai trouvé ton hypothèse intéressante et futée et j'ai fait la recherche.
    Je ne sais pas si Excel permet d'afficher les caractères non imprimables alors j'ai copié mon code dans Word pour les faire apparaître et je n'ai rien remarqué.
    J'ai constaté que la sortie texte s'arrête chaque fois au même endroit, au caractère près. J'ai ajouté une ligne au code pour voir si ça changeait quelque chose, mais l'arrêt apparaît au même endroit.
    Mais il y a une chose qui semble rendre ton hypothèse inadéquate, c'est que la sortie texte s'arrête dans le courant du deuxième enregistrement de la base, donc le code a été parcouru une première fois intégralement sans arrêt indésirable.
    Encore un indice: j'ai toute une série de ces bases de données, j'en ai testé une autre et l'arrêt ne s'est pas produit au même endroit.
    Pour ne rien te cacher, j'avais laissé tomber la généalogie et je sais que j'avais déjà rencontré ce problème il y a quelques années; à l'époque, le code transcrivait une vingtaine d'enregistrements, si bien que j'avais réparti les lignes Excel sur plusieurs feuilles par lots de 20 sans dépasser le point d'arrêt.
    J'espère bien que cette fois-ci on trouvera une solution au niveau du code.
    Bien à toi et merci
    touche_a_tout

  4. #4
    Membre éclairé Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    544
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 544
    Par défaut Panne d'exécution du code
    Rebonjour,
    Autre test: j'avais introduit ma ligne supplémentaire en-dehors de la boucle For...Next; ensuite je l'ai déplacée à l'intérieur de cette boucle donc elle apparaît à chaque itération. Résultat (bizarre): ligne suppl. à l'extérieur, la sortie compte 72 lignes; ligne suppl. dans la boucle: la sortie compte 113 lignes. L'arrêt a lieu à un endroit différent du code. Un vrai casse-tête. La différence est de 41 lignes. Une ligne du tableau Excel représente environ 60 lignes de texte Word. Où est la logique ?
    Merci de ton intérêt.
    Cordialement
    touche_a_tout

  5. #5
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    Bein sans fichier ni code je ne puis rien.
    C'était une idée à l'aveuglette.

    Bon courage

  6. #6
    Membre éclairé Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    544
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 544
    Par défaut Panne d'exécution du code
    Mais ce n'était pas une critique, j'ai apprécié ton aide.
    Quant au fichier, si tu as le courage de t'y plonger, je le joins au prochain post.
    Encore merci
    Cordialement
    touche_a_tout

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

Discussions similaires

  1. Réponses: 44
    Dernier message: 02/08/2006, 16h12
  2. Erreur 3141 dans exécution de code
    Par zoom61 dans le forum Access
    Réponses: 13
    Dernier message: 23/03/2006, 17h31
  3. [RosASM] Tracer l'exécution du code
    Par aumeunier dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 14/03/2006, 18h26
  4. Réponses: 3
    Dernier message: 20/04/2005, 12h30
  5. Réponses: 7
    Dernier message: 03/02/2005, 17h20

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