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'execution 1004


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Mars 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2021
    Messages : 2
    Par défaut Erreur d'execution 1004
    Bonjour,

    Je crée un programme VBA où je compte le nombre de ligne et colonne d'un tableau pour pouvoir copier-coller ces données dans une autre feuille. Excel me donne une erreur d'exécution 1004 disant
    Erreur définie par l'application ou par l'objet
    sur la ligne Worksheets(i).Range(Cells(6, 1), Cells(LLRow, LLColumn)).Copy _ Destination:=Worksheets(2).Cells(LLRowData, 1). Je ne vois pas où est l'erreur que me donne Excel. Pouvez-vous m'aider s'il vous plait!
    Voici mon code:
    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
    NbWS = Application.Sheets.Count
    Dim LLRow, LLColumn As Integer
     
    For i = 3 To NbWS
        m = 6
        j = 6
        k = 1
        While Worksheets(i).Cells(6, k).Value <> ""
        k = k + 1
        Wend
        LLColumn = k - 1
     
        While Worksheets(i).Range("A" & j).Value <> ""
        j = j + 1
        Wend
        LLRow = j - 1
     
        n = 1
        While Worksheets(2).Range("A" & n).Value <> ""
        n = n + 1
        Wend
        LLRowData = n
        MsgBox (LLRowData)
     
        Worksheets(i).Range(Cells(6, 1), Cells(LLRow, LLColumn)).Copy _
        Destination:=Worksheets(2).Cells(LLRowData, 1)
     
    Next
    Merci d'avance,

    MH Froger

  2. #2
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 904
    Par défaut
    Hello !

    Bon, ce n'est pas une façon très optimale ce que tu as fait mais ça doit fonctionner

    Remplaces ta ligne à problème par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Worksheets(i).Range(Worksheets(i).Cells(6, 1), Worksheets(i).Cells(LLRow, LLColumn)).Copy _
    Destination:=Worksheets(2).Cells(LLRowData, 1)
    Et fais un petit test avec

    Cordialement,

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Mars 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2021
    Messages : 2
    Par défaut
    Merci ça fonctionne comme je souhaite!

  4. #4
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 904
    Par défaut
    Nice !
    Pour explication, le "cell(a, b)" indique la cellule de l'onglet actif.

    Worksheets(i).Range(Cells(6, 1), Cells(LLRow, LLColumn))
    Peux se traduire par :
    "Je cible une range de mon worksheet i et la range est définie par deux cellules d'un worksheet quelconque du classeur".

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

Discussions similaires

  1. Erreur d'execution 1004
    Par kanabzh29 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/11/2008, 09h34
  2. erreur d'execution 1004
    Par Damientreize dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/04/2008, 16h36
  3. TCD Problème Erreur d'Execution '1004'
    Par zenix dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/02/2008, 12h11
  4. pb 'erreur d'execution 1004' problème RANGE
    Par rpauquet dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/07/2007, 15h38
  5. [VBA-E] erreur d'execution '1004' sur masquage feuille
    Par Cupoftea dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/04/2007, 18h34

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