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 :

Erreur d'exécution '1004' [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Par défaut Erreur d'exécution '1004'
    Bonjour
    J'ai un code qui fonctionne très bien, mais si je clic sur le bonton Non de la msbox au choix de sélectionner le fichier au départ, j'ai une erreur d'exécution '1004' La méthode AutoFilder de la classe Range a échoué et en débogage j'ai la ligne de code en jaune
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range("A1:A" & Lastlig).AutoFilter field:=1, Criteria1:="<>" & .Range("A" & Lastlig).Value
    Je ne vois pas ce que je peux faire
    Merci pour l'aide

    Code complet
    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
    Sub Module4Supprime()
     
    Application.ScreenUpdating = False  'accélère la macro
    Application.DisplayAlerts = False ' désactiver les alertes pour empêcher l'affichage des messages du genre "Voulez-vous etc."
     
    Dim Lastlig As Long
     
    Application.ScreenUpdating = False
    With Sheets("Base")
         .AutoFilterMode = False
         Lastlig = .Cells(.Rows.Count, 1).End(xlUp).Row
         .Range("A1:A" & Lastlig).AutoFilter field:=1, Criteria1:="<>" & .Range("A" & Lastlig).Value
         If .Range("A1:A" & Lastlig).SpecialCells(xlCellTypeVisible).Count > 1 Then .Range("A2:A" & Lastlig).SpecialCells(xlCellTypeVisible).EntireRow.Delete
         .AutoFilterMode = False
    End With
     
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    End Sub

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Tu devrais montrer la portion de code qui affiche ta MsgBox sur laquelle tu cliques NON, et jusqu'à la ligne où tu appelles Module4Supprime.

    Cordialement,

    PGZ

  3. #3
    Membre éprouvé Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Par défaut
    Bonjour pgz
    Effectivement j'ai du commettre une erreur dans ce code de la msbox car je l'ai coupé et mis dans un module à part et j'avais eu Erreur de compilation bloc IF sans End IF et j'avais donc mis un End IF à la fin du code, mais je ne vois pas comment corriger l'erreur
    Merci

    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
    Sub Module3ImportFichierSélectionné()
     
    Application.ScreenUpdating = False  'accélère la macro
    Application.DisplayAlerts = False ' désactiver les alertes pour empêcher l'affichage des messages du genre "Voulez-vous etc."
     
    Set Destination = ActiveWorkbook
     
    Dim Msg, Style, Title, Help, Ctxt, Response, MyString, Msg1, Style1, Title1, Help1, Ctxt1, Response1, MyString1
    Msg = "Ouvrir le fichier demandé ? "
    Style = vbYesNo + vbDefaultButton1
    Title = "Ouverture du fichier source"
    Response = MsgBox(Msg, Style, Title, Help, Ctxt)
     
    If Response = vbYes Then
        MyString = "Yes"
     
                Source = Application.Dialogs(xlDialogOpen).Show
                If Source = False Then
                MsgBox ("Aucun fichier sélectionné")
                Exit Sub
                Else
                Set Source = ActiveWorkbook
     
                Source.Activate 'Fichier sélectionné activé
                Sheets("base").Select 'Onglet activé
                Cells.Select 'Feuille entièrement sélectionnée
                Selection.Copy
     
                Destination.Activate 'Fichier Onglet numéro 2 activé
                Sheets("Base").Select 'Onglet activé
                Range("A1").Select
                Selection.PasteSpecial Paste:=xlPasteValues 'Collage spécial valeurs
     
                Source.Activate 'Fichier sélectionné activé
                Application.CutCopyMode = False
                ActiveWindow.Close SaveChanges:=False 'Fichier sélectionné fermé
                End If
     
    Else
    MyString = "No"
    MsgBox ("Aucun fichier sélectionné")
     
    Exit Sub
    End If
     
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    End Sub

  4. #4
    Membre éprouvé Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Par défaut
    J’ai résolu en remettant entièrement le code avec appel des modules par Call, dommage…

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

Discussions similaires

  1. remplissage zone de liste (Combobox) : Erreur d'exécution 1004 !?
    Par ln0331 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/02/2008, 18h02
  2. Réponses: 13
    Dernier message: 29/06/2007, 19h03
  3. Erreur d'exécution '1004' lors d'une mise en page
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/06/2007, 10h00
  4. [VBA-E] Erreur d'exécution '1004'
    Par bibi5883 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/03/2007, 15h31
  5. [VBA-E] erreur d'exécution 1004 ?
    Par toy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/05/2006, 14h15

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