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 excel 2010 bug workbooks().close


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Par défaut vba excel 2010 bug workbooks().close
    Bonjour,

    J'ai effectué un programme où j'ouvre un autre fichier excel, jusque là pas de soucis
    puis je le ferme avec la commande workgroups(monfichier.xlsm).close
    Il se ferme bien mais revient au début de mon sous programme ce qui le fait planter...
    Est ce que vous avez une idée de ce que cela peut etre?
    J'ai 4 parties de mon programme qui ouvrent et ferment des fichiers et seule cette partie fait planter le programme, je ne comprends pas surtout que avant ça marchait...

    merci de votre aide.

    Goofy

  2. #2
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    SALUT,
    workgroups ? pourquoi pas workbooks("monfichier").close


    difficile de répondre mieux sans voir ton code
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 2
    Par défaut
    euh oui désolé... j'ai bien mis workbooks

    voici mon code, je n'ai mis que le sous programme pour que ça ne soit pas trop lourd

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    Sub remplirnouvelledt()
       Dim tableau() As String
        Dim tableaupilote() As String
        Dim derligsem As Integer
        Dim x As Range
     
     
        'nomClass = Nomclasseur  'récupère le nom du fichier
        derligsem = ThisWorkbook.Sheets(numSEm).UsedRange.Rows.Count
        derLig = ThisWorkbook.Sheets("participants").UsedRange.Rows.Count
        'regarde si il n'y a rien sur cette ligne / voir si utile
        For l = 13 To derligsem
            If ThisWorkbook.Sheets(numSEm).Cells(l, 3) <> "" And ThisWorkbook.Sheets(numSEm).Cells(l, 7) = "" Then
                ThisWorkbook.Sheets(numSEm).Cells(l, 7) = 1
                lign = l
                Exit For
            End If
        Next l
        'statusbar
        DTencours = ThisWorkbook.Sheets(numSEm).Cells(l, 3)
        Application.StatusBar = "DT n=°" & DTencours & " en cours"
        'rempli objet DT
        ThisWorkbook.Sheets(numSEm).Cells(lign, 6) = Workbooks(nomClass).Sheets(1).Cells(19, 1)
        'sépare nom et prénom du pilote
        Dim userpilote As String
        Dim userpilote1 As String
     
     
        userpilote = Workbooks(nomClass).Sheets(1).Cells(6, 3)
        userpilote1 = Right(userpilote, 7)
        ThisWorkbook.Sheets(numSEm).Cells(lign, 4) = Left(userpilote, Len(userpilote) - 9)
        ThisWorkbook.Sheets(numSEm).Cells(lign, 5) = userpilote1
        lign = lign + 1
     
     
        'idem pour acteurs
        Dim user0 As String
        Dim user1 As String
        Dim colo As Integer
        Dim ligne As Integer
        Dim a As Integer
        ' a pour rattraper entre colonne droite et gauche, il n'y a pas le meme nombre a soustraire pour retomber sur le nom
        a = 4
     
        For colo = 9 To 21 Step 12
            If colo = 21 Then a = 6
            For ligne = 52 To 57
                user0 = Workbooks(nomClass).Sheets(1).Cells(ligne, colo)
                user1 = Workbooks(nomClass).Sheets(1).Cells(ligne, colo - a)
                ThisWorkbook.Sheets(numSEm).Cells(lign, 4) = user1
                ThisWorkbook.Sheets(numSEm).Cells(lign, 5) = user0
                lign = lign + 1
            Next ligne
        Next colo
     
     
     
        Application.DisplayAlerts = False
     
        'Ferme le classeur
        Workbooks(nomClass).Close
     
        'Restaure l'affichage des Alertes
        Application.DisplayAlerts = True
     
    End Sub

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    Citation Envoyé par goofyy Voir le message
    je n'ai mis que le sous programme pour que ça ne soit pas trop lourd
    Ben justement, c'est ce qui est ailleurs qui nous manque.
    Comment est déclaré et assigné "nomClass"?
    Pourquoi utiliser son nom plutôt que l'objet Workbook?
    Dans ce classeur, y a-t-il un code à la fermeture?
    Comment (et où) se fait l'appel à la Sub remplirnouvelledt()?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. Valeur et non l'id d'un item d'une dropdown list vba excel 2010
    Par thibauc dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/07/2012, 09h50
  2. [XL-2010] Archivage VBA excel 2010
    Par Radaghast dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/05/2012, 01h09
  3. [XL-2010] Cours VBA excel 2010
    Par sthiteng dans le forum Excel
    Réponses: 2
    Dernier message: 07/03/2012, 13h44
  4. [XL-2010] VBA Excel 2010 pb informations licence introuvables
    Par degateau dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/02/2012, 16h07
  5. [VBA EXCEL] - Synthaxe équivalente à Workbook = Nothing
    Par ancel17 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/08/2008, 17h52

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