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 :

Gros Problème lecture seule


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 32
    Points : 25
    Points
    25
    Par défaut Gros Problème lecture seule
    Bonjour

    Mon dernier message de l'été !! (ouf ???)
    Voilà j'ai un problème qui me prend la tête, je suppose que c'est tout bête à résoudre et qu'il y a une fonction appropriée pour ça mais je ne trouve pas (sûrement car je ne sais pas chercher comme il faut).

    Dans mon code je crée tout d'abord un nouveau fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            var = "C:\Documents and Settings\Usuario\Escritorio\Logistica\"
            nueva_carpeta = var + name_WS
            MkDir nueva_carpeta
     
            Dim arch As String
            arch = nueva_carpeta + "\Packing list.xls"
            Dim xlapp As New Excel.Application
            xlapp.Workbooks.Add
            xlapp.Visible = False
            xlapp.ActiveWorkbook.SaveAs arch
            MsgBox "fichier créé adresse" + nueva_carpeta
    Puis ensuite je pose une question et si la réponse est non je déplace la feuille active au classeur du nouveau fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            paletizado = MsgBox("Este convoy será paletizado?", vbYesNo)
            If paletizado = 7 Then
                Workbooks.Open (nueva_carpeta + "\Packing list.xls")
                Workbooks("Gestión de los stocks.xls").ActiveSheet.Move before:=Workbooks("Packing list.xls").Worksheets(1)
                Workbooks("Packing list.xls").Save
                Workbooks("Gestión de los stocks.xls").Save
                'MsgBox "enregistré"
            End If
    Voilà. Mon souci : une fois que c'est fait, par exemple je ferme le fichier qui vient d'être créé (Packing List.xls), qui correspond a ce que je demandais c'est a dire que la feuille a bien ete bougee, puisqu'il est enregistré on ne me demande rien, donc je ferme sans me poser de questions. Et là si je veux le reouvrir, et bien on me dit qu'il est bloqué pr le modifier par '.', que je peux soit l'ouvrir en lecture seule soit cliquer sur notifier.
    Bon alors ça c'est le 1er problème : il est bloqué => comment faire pour qu'il ne le soit pas ???
    2e problème : je décide malgré tout de l'ouvrir en lecture seule et... il m'ouvre un classeur vierge !!!! Ma feuille que j'avais déplacée n'y est plus !!!!! => Que faire ???
    3e problème : si j'ai bien fermé ce fichier et que je veux le supprimer, je ne peux pas car il est soi disant toujours utilisé par excel. je pense que si je résous le 1er probleme je résous celui ci en meme temps. car là je suis obligée de passer par ctrl+alt+supr pr arreter la tache (que je ne vois pas sinon car j'ai fermé Excel depuis belle lurette) et là seulement je px le supprimer !

    Merci de votre aiiiiiiiiiiiiiiiiide
    Carole

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Pourquoi crées-tu une nouvelle instance d'Excel pour créer ton nouveau fichier ?
    C'est cette instance qui reste ouverte avec ton fichier.
    Supprime tes instances
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            Dim arch As String
            Dim NewFich as Workbook
            arch = nueva_carpeta + "\Packing list.xls"
            set NewFich = Workbooks.Add
            'NewFich .Visible = False
            ActiveWorkbook.SaveAs arch
            MsgBox "fichier créé adresse" + nueva_carpeta
    Si tu veux à tout pris créer une nouvelle instance d'Excel, alors pour fermer ton fichier, tu dois mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    xlapp.close true 'True pour enregistrer ton fichier
    xlapp.quit 'pour quitter l'application ouverte
    Ça, c'est pour la première partie.
    Teste déjà le premier code

Discussions similaires

  1. Windows 7 Problème lecture seule
    Par gueguenk dans le forum Windows 7
    Réponses: 2
    Dernier message: 20/02/2013, 04h08
  2. Réponses: 3
    Dernier message: 20/06/2007, 18h42
  3. problème lecture seule
    Par thidenthi dans le forum ASP
    Réponses: 1
    Dernier message: 01/04/2007, 00h19
  4. problème lecture seule fichier image
    Par Damien69 dans le forum Langage
    Réponses: 1
    Dernier message: 23/03/2007, 16h53
  5. Problème de lecture seule
    Par 28marc28 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 23/12/2004, 10h56

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