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 :

Macro qui fait planter Excel systématiquement lorsqu'un bouton lui est affecté


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Septembre 2014
    Messages : 32
    Points : 12
    Points
    12
    Par défaut Macro qui fait planter Excel systématiquement lorsqu'un bouton lui est affecté
    Bonjour à tous,

    comme le dit mon titre, le problème que je rencontre actuellement est le suivant:

    J'ai une macro dans un fichier (celle-çi va chercher un document dans un dossier, le met au format voulu et fait un copier collé sur une autre feuille de ce fichier)
    elle fonctionne parfaitement sauf que si je crée un bouton pour lancer la macro plus aisément, Excel plante au moment où je clique sur enregistrer, ou après quelques minutes d'inactivité. Bizarre non ? Quelqu'un aurait il déjà rencontré ce cas peu être ?

    Toute suggestion est la bienvenue!

    Merci =))

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Bonjour,

    Quel type de bouton utilise-tu ? ActiveX ou Formulaire ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Septembre 2014
    Messages : 32
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    j'utilise actuellement un bouton formulaire, faut il utiliser active x lorsque des macros sont engagées ?

    Merci à toi,

    Simon

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    As-tu essayer de créer un bouton simplement avec une forme (un rectangle ou un ovale par exemple) auquel tu lies ta macro ?

    Est-ce toi qui a écrit la macro ? Je veux dire par là : est-ce que son contenu es fiable ? Ne pourrait-elle pas contenir quelques lignes de malware ?

    As-tu vérifié si, par hasard, ça ne viendrait pas d'une autre cause, par exemple une autre macro à déclenchement automatique qui se serait implantée dans un module ?

  5. #5
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    Et si tu lances ta macro rattachée à ton bouton avec du pas-à-pas (grâce à un point d'arrêt), ça plante aussi ?

  6. #6
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Bonjour,

    Et le code c'est ?
    ne pas hésiter à déposer un fichier.

    eric

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Septembre 2014
    Messages : 32
    Points : 12
    Points
    12
    Par défaut
    le code est:

    Macro 1

    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
    Sub insert()
     
    Dim Rep As String
     
    Rep = "\XXXX\"
     
    If Dir(Rep, vbDirectory) <> "" Then
    Application.Dialogs(xlDialogOpen).Show Rep
     
     
    End If
    Set wk1 = ActiveWorkbook
     
     
    Application.DisplayAlerts = False
    Workbooks("XXXX").Worksheets("Sheet1 (2)").Delete
     
    wk1.Worksheets("Sheet1").Copy After:=Workbooks("XXXX").Sheets(6)
     
    wk1.Close
     
     
    Call Macro2
    End Sub

    Macro 2

    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
    Sub Macro2()
    '
    ' Macro2 Macro
    '
    Workbooks("XXXX").Worksheets("Sheet1 (2)").Activate
    '
        Columns("D:F").Select
        Selection.Delete Shift:=xlToLeft
        Columns("E:E").Select
        Selection.Delete Shift:=xlToLeft
        Columns("F:F").Select
        Selection.Delete Shift:=xlToLeft
        Columns("G:G").Select
        Selection.Delete Shift:=xlToLeft
        Columns("G:H").Select
        Selection.Delete Shift:=xlToLeft
        Columns("H:AB").Select
        Selection.Delete Shift:=xlToLeft
        Columns("I:V").Select
        Selection.Delete Shift:=xlToLeft
        Columns("A:H").Select
        Selection.ColumnWidth = 15
        Range("A1:H1").Select
        Selection.AutoFilter
        ActiveSheet.Range("$A$1:$H$2472").AutoFilter Field:=7, Criteria1:= _
            "=[01.08.2014] . " _
            , Operator:=xlOr, Criteria2:="=to be deleted"
        Rows("29:29").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Delete Shift:=xlUp
        ActiveSheet.Range("$A$1:$H$2436").AutoFilter Field:=7
        ActiveSheet.Range("$A$1:$H$2436").AutoFilter Field:=1, Criteria1:=Array( _
            "10", "11", "12", "13", "15", "16", "17", "19", "20", "23", "25", "27", "28", "30", "31", "32" _
            , "33", "34", "35", "36", "37", "38", "39", "41", "42", "43", "45", "46", "47", "48", "5", "7", _
            "8", "9"), Operator:=xlFilterValues
        Rows("2:2").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Delete Shift:=xlUp
        ActiveSheet.Range("$A$1:$H$2290").AutoFilter Field:=1
        Range("A6").Select
        ActiveWindow.SmallScroll Down:=-24
     
        Call copypaste
     
    End Sub

    Macro 3
    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
    Sub copypaste()
    '
    ' copypaste Macro
    '
     
    '
        Sheets("Sheet1 (2)").Select
        Range("A2:H2290").Select
        Selection.Copy
        Sheets("Current Week").Select
        ActiveWindow.SmallScroll Down:=-6
        Range("A2").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    End Sub
    J'éspère que vous comprendrais mon code ! et merci

    Simon

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Difficile à dire, mais je vois que tu as mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DisplayAlerts = False
    Et je ne vois pas où tu le mets à True...

  9. #9
    Membre éprouvé Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Points : 973
    Points
    973
    Par défaut
    Bonjour
    A quoi sert il d'afficher l'explorateur ?
    Est ce pour choisir le fichier de destination de la feuille copier ou la provenance
    cette macro est ecrite dans quel classeur Wk1 ou workbooks(xxxxx)
    faut-il réellement supprimer une feuille avant d'en ajouter une ou simplement copier toutes la feuille de wk1 dans xxxx

    En mettant en commentaire macro2 et copypaste pour les neutraliser est ce que excel plante ou pas.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Septembre 2014
    Messages : 32
    Points : 12
    Points
    12
    Par défaut
    Parmi, tu me conseilles quoi alors ? la macro fonctionne, elle ne fait que planter excel apres quelques minutes d'inactivité ou au moment de cliquer sur enregistrer.
    KeyGen oui il faut que je la supprime pour qu'elle laisse place à une nouvelle...

    Merci pour le soutien!

  11. #11
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Commence par remettre le DisplayAlerts à True pour voir si tu n'aurais pas un message qui apparaîtrait...

Discussions similaires

  1. [XL-2003] Macro de recherche dans doc Word fait planter Excel
    Par Furniture dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/02/2014, 11h16
  2. [XL-2010] selectionchange feuill macro qui fait planter
    Par Ashireon dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/09/2012, 18h39
  3. Réponses: 6
    Dernier message: 21/02/2011, 05h20
  4. VBA excel Une macro qui fait souffrir ?
    Par soleilbleue dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/09/2007, 18h55
  5. [Access 2003] Macro qui fait planter Access
    Par nuriel2 dans le forum Access
    Réponses: 5
    Dernier message: 10/05/2006, 14h00

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