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'éxecution 1004 - macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Assistante documentaliste
    Inscrit en
    Août 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistante documentaliste

    Informations forums :
    Inscription : Août 2022
    Messages : 5
    Par défaut Erreur d'éxecution 1004 - macro
    Bonjour,
    En voulant exécuter une macro je tombe sur le message d'erreur suivant :
    Erreur d'exécution '1004', la méthode Select de la classe Range a échoué
    Le but étant de créer un fichier xlcsv de métadonnés à partir d'un tableau de données

    Voici le code lié à la macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Export_CSV()
     
    Sheets(8).Range(A & 3 & ":" & AZ & 8 - 1 + NumEchéancier * 3).Select
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=s, FileFormat:=xlCSV, CreateBackup:=False
    ActiveWindow.Close
    Application.DisplayAlerts = True
     
    End Sub
    Merci d'avance,

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    Bonjour,

    Une première piste :

    Quand tu écris Range(A & 3 & ":" & AZ & 8 - 1 + NumEchéancier * 3), les lettres A et AZ ne sont pas entre guillemets.
    VBA les considère donc comme des variables, qui sont donc vides.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Assistante documentaliste
    Inscrit en
    Août 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistante documentaliste

    Informations forums :
    Inscription : Août 2022
    Messages : 5
    Par défaut Réponse
    Bonjour,

    J'ai rajouté les guillemets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(8).Range("A" & 3 & ":" & "AZ" & 8 - 1 + NumEchéancier * 3).Select
    , mais dès que je clique sur le bouton de la macro le même message d'erreur s'affiche

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,
    , mais dès que je clique sur le bouton de la macro le même message d'erreur s'affiche
    Ta feuille d'index 8 n'est pas visible ou n'existe pas : si tu veux la modifier il faut oublier le 'select' et ce sera plus facile et efficace.

  5. #5
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 288
    Par défaut
    Salut
    A tester et à adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Set xlWbk = ThisWorkbook
    Set xlWsh = xlWbk.Worksheets("Feuil1")
    Set newWbk = Workbooks.Add
    Set rng = xlWsh.Range("A" & 3 & ":" & "AZ" & 8 - 1 + NumEchéancier * 3)
     
    Application.DisplayAlerts = False
    rng.Copy
    newWbk.Worksheets("Feuil1").Range("A1").PasteSpecial (xlPasteAll)
    newWbk.SaveAs Filename:=s, FileFormat:=xlCSV, CreateBackup:=False
    ActiveWindow.Close
    Application.DisplayAlerts = True

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Assistante documentaliste
    Inscrit en
    Août 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistante documentaliste

    Informations forums :
    Inscription : Août 2022
    Messages : 5
    Par défaut Réponse
    Citation Envoyé par hyperion13 Voir le message
    Salut
    A tester et à adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Set xlWbk = ThisWorkbook
    Set xlWsh = xlWbk.Worksheets("Feuil1")
    Set newWbk = Workbooks.Add
    Set rng = xlWsh.Range("A" & 3 & ":" & "AZ" & 8 - 1 + NumEchéancier * 3)
     
    Application.DisplayAlerts = False
    rng.Copy
    newWbk.Worksheets("Feuil1").Range("A1").PasteSpecial (xlPasteAll)
    newWbk.SaveAs Filename:=s, FileFormat:=xlCSV, CreateBackup:=False
    ActiveWindow.Close
    Application.DisplayAlerts = True
    Bonjour,
    Merci pour votre réponse,
    Du coup j'ai essayé votre code,
    - je suis tombé sur un premier message d'erreur : Erreur de compilation End Sub attendu --> j'ai du coup rajouté "End Sub" à la fin de votre code
    - Un second message d'erreur est alors apparu : Erreur d'exécution '9' : l'indice n'appartient pas à la sélection
    Nom : Capture.PNG
Affichages : 393
Taille : 43,3 Ko

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Assistante documentaliste
    Inscrit en
    Août 2022
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistante documentaliste

    Informations forums :
    Inscription : Août 2022
    Messages : 5
    Par défaut
    Citation Envoyé par anasecu Voir le message
    Bonjour,

    Ta feuille d'index 8 n'est pas visible ou n'existe pas : si tu veux la modifier il faut oublier le 'select' et ce sera plus facile et efficace.
    Bonjour, merci pour votre réponse,
    Nom : Capture.PNG
Affichages : 366
Taille : 98,6 Ko

    Je me suis rendue compte que la feuille de métadonnées que je voulais importer était la 15 depuis la vue VBA Projet ci-joint,
    Oublier le select c'est-à-dire que je dois enlever cette partie-là ? --> * 3).Select
    et au lieu du 8 je mets 15 ?

    Voici le message d'erreur de base : La methode select de la classe range a échouer

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/01/2016, 12h52
  2. Réponses: 11
    Dernier message: 09/07/2014, 16h40
  3. [XL-2010] Erreur d'éxecution '1004' Impossible d'accéder à 'truc.xlsm'
    Par max160 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/07/2014, 17h24
  4. message d'erreur d'éxecution '1004'
    Par VELO1222 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/01/2011, 15h56
  5. [VBA-E] Erreur d'éxecution '1004'
    Par andlio dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 04/01/2007, 10h12

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