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

Excel Discussion :

erreur d'exécution1004: erreur définie par l'application ou par l'objet


Sujet :

Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 5
    Points : 4
    Points
    4
    Par défaut erreur d'exécution1004: erreur définie par l'application ou par l'objet
    Bonjour,
    Etant débutante en vba/excel j'ai ecrit cette macro qui remplie une feuille (Actions) par des champs récupérés d'une autre (GCBLO) selon une conditon: valeur d'une colonne dans la feuille Actions.
    au moment de l'exécution, on m'affiche: erreur d'exécution1004: erreur définie par l'application ou par l'objet.
    L'erreur vient de la ligne : If Sheets("Actions").Cells(j, 2) = "Commande FT" Then (quand je fais le débogage)
    quelqu'un pourrait m'aider?
    D'avance merci
    ci dessous mon code
    --
    Option Explicit

    Private Sub Worksheet_Activate()
    ' Mise a jour
    Dim q As Long
    Dim k, i, j As Long
    Dim li As Long
    q = Sheets("Actions").UsedRange.Rows.Count
    For k = 7 To q
    If Sheets("Actions").Cells(k, 2) = "Commande FT" Then
    Sheets("Actions").Range(Cells(k, 5), Cells(k, 6)).ClearContents
    Sheets("Actions").Range(Cells(k, 7), Cells(k, 10)).ClearContents
    Sheets("Actions").Range(Cells(k, 11), Cells(k, 13)).ClearContents
    End If
    Next
    ' Remplissage automatique
    li = Sheets("GCBLO").Range("B" & Rows.Count).End(xlUp).Row
    j = 7
    For i = 7 To li
    If Sheets("Actions").Cells(j, 2) = "Commande FT" Then
    Sheets("Actions").Cells(j, 6) = Sheets("GCBLO").Cells(i, 2)
    Sheets("Actions").Cells(j, 7) = Sheets("GCBLO").Cells(i, 6)
    Sheets("Actions").Cells(j, 5) = Sheets("GCBLO").Cells(i, 3) & " , " & Sheets("GCBLO").Cells(i, 4)
    Sheets("Actions").Cells(j, 10) = Sheets("GCBLO").Cells(i, 7)
    Sheets("Actions").Cells(j, 11) = Sheets("GCBLO").Cells(i, 8)
    Sheets("Actions").Cells(j, 13) = Sheets("GCBLO").Cells(i, 10)
    Sheets("Actions").Cells(j, 9) = Sheets("GCBLO").Cells(i, 9)
    j = j + 1
    Else: j = j + 1
    i = i - 1
    End If
    Next
    End Sub

  2. #2
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Bonjour,

    (l'erreur que tu mentionnes intervient souvent à la suite d'une erreur de référence, nom de feuille ou adresse)

    Tu es certaine de ta boucle et du changement que tu opères sur tes valeurs j et i ?

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    oui au niveau de mes compteurs je suis sure! (je l'ai vérifié à la main)
    je sais pas quoi faire pour corriger l'erreur

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Bonjour,


    J'ai l'impression que tu tourne en boucle dans ta macro..

    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
    For i = 7 To li
    If Sheets("Actions").Cells(j, 2) = "Commande FT" Then
    Sheets("Actions").Cells(j, 6) = Sheets("GCBLO").Cells(i, 2)
    Sheets("Actions").Cells(j, 7) = Sheets("GCBLO").Cells(i, 6)
    Sheets("Actions").Cells(j, 5) = Sheets("GCBLO").Cells(i, 3) & " , " & Sheets("GCBLO").Cells(i, 4)
    Sheets("Actions").Cells(j, 10) = Sheets("GCBLO").Cells(i, 7)
    Sheets("Actions").Cells(j, 11) = Sheets("GCBLO").Cells(i, 8)
    Sheets("Actions").Cells(j, 13) = Sheets("GCBLO").Cells(i, 10)
    Sheets("Actions").Cells(j, 9) = Sheets("GCBLO").Cells(i, 9)
        j = j + 1
    Else
        j = j + 1
        i = i - 1
    End If
    Next
    Si jamais il ne trouve pas "Commande FT", ton "j" va s'incrémenter jusqu'à qu'il le trouve. malheureusement, s'il ne le trouve pas, i va rester à 7, mais ton j va augmenter jusqu'à la limite maximale...

    Quand tu as l'erreur et que tu fais el debug, regarde la valeur de tes variables locales (notamment j et i), tu verras

    J'ai pris juste cette boucle, et j'ai pas écrit "Commande FT", et ça m'a fait la même erreur que toi...
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonjour,
    en fait ce que je voulais faire c'est ne remplir Actions que lorsqu'on trouve "Commande FT". c'est pour ca que j'ai prévu que , au moment ou la condition n'est pas vérifiée le "i" (dans Actions)
    ne s'inscrémente pas et le "j" avance de 1 (dans GCBLO).
    Ainsi il n'y a pas de solution?
    D'autant plus que la macro fonctionne (le remplissage se fait comme désiré) c'est juste à la fin de l'exécution que cette erreur apparaisse

    des solutions please ??

Discussions similaires

  1. ERREUR 1004-erreur défini par l'application ou par l'objet
    Par zineb87 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/02/2010, 16h40
  2. Réponses: 2
    Dernier message: 20/10/2009, 16h59
  3. Erreur 1004 définie par l'application ou par l'objet
    Par GreatDeveloperOnizuka dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/12/2007, 09h33
  4. [VBA-E]erreur définie par l'application ou par l'objet
    Par vivelesgnous dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/02/2006, 14h51

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