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 :

incohérence entre le pas à pas détaillé et l’exécution du programme


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut incohérence entre le pas à pas détaillé et l’exécution du programme
    Bonjour,

    J'ai un petit problème sur un programme VBA que j'ai développé.

    Mon programme a pour but d'ouvrir un second classeur, copier une des feuilles dans le classeur d'origine puis tranquillement refermer le classeur ouvert en le sauvegardant.

    Lorsque j'exécute ce programme en pas à pas détaillé aucun problème le programme s'exécute appliquant à la lettre les étapes demandé.

    Seulement lorsque je l'exécute normalement la page n'est jamais copié comme si celle ci n'était pas trouvé.

    voici les quelque ligne pour les plus curieux :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Workbooks.Open Chemin, 0, ReadOnly:=False
        ActiveWorkbook.Sheets(nomfeuille).Copy After:=Workbooks(classeurdorigine).Sheets("Feuil1")
        Application.DisplayAlerts = False
        ActiveWorkbook.Sheets(nomfeuille).Delete
        Workbooks(classeurouvert).Save
        Workbooks(classeurouvert).Close
        Application.DisplayAlerts = True
        Workbooks(classeurdorigine).Worksheets(nomfeuille).Visible = 1
    Comme vous l'aurais compris la feuille est caché ET verrouillé!

    Merci d'avance pour votre aide!!!!

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

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,

    Un excellent cours VBA :
    https://bidou.developpez.com/article/VBA/
    Lire le cours et comprendre les exemples à partir de la page 128 : Workbooks, ... (après avoir lu la page 35 : les objets)
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  3. #3
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    J'ai l'impression que la difficulté porte sur Personnellement, je l'utilise le moins possible.
    Mieux vaut affecter une variable à ce classeur actif pour l'utiliser ultérieurement.

    D'autre part, les 2 lignes sur la fermeture et la sauvegarde sont redondantes.
    1 seule ligne suffit

    Illustration

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Explicit
     
    Sub Esssai_Open()
     
    Dim class As Workbook
     
    Set class = Workbooks.Open(Filename:= _
            "lechemindcomplet du classeur")
    Debug.Print "Nombre de feuilles : " & class.Worksheets.Count
    class.Close Savechanges:=True
    Set class = Nothing
     
    End Sub
    Tu peux consulter l'aide sur la méthode Close d'un classeur au sein de cet espace

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


Discussions similaires

  1. Pas à pas hyper détaillé
    Par Syntaxe error dans le forum Contribuez
    Réponses: 1
    Dernier message: 03/01/2010, 21h07
  2. Utiliser l'entrée micro quand pas d'entrée audio ?
    Par FabaCoeur dans le forum Périphériques
    Réponses: 17
    Dernier message: 26/08/2009, 19h00
  3. Réponses: 12
    Dernier message: 27/07/2009, 17h05
  4. Récupérer un champs à null si une entrée n'existe pas
    Par zglurb dans le forum Langage SQL
    Réponses: 6
    Dernier message: 16/04/2008, 18h31
  5. Réponses: 1
    Dernier message: 21/02/2008, 10h23

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