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 1004, methode Paste de l'objet Range.


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Mars 2007
    Messages : 56
    Points : 58
    Points
    58
    Par défaut Erreur 1004, methode Paste de l'objet Range.
    Bonjour,

    Donc voilà mon problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        Sheets("job").Activate
     
        Columns("E:AI").Select
     
        Selection.AutoFilter Field:=4, Criteria1:="202 - LEGRAND EXPORT TIERS", Operator:=xlOr, Criteria2:="210 - SNC  INTRA-GROUPE"
     
        Selection.SpecialCells(xlCellTypeVisible).Rows.Copy Destination:=Sheets("temp").Range("A1")
    Le problème se situe à la ligne 4, ce code fonctionne bien sur ma machine au boulot (Win XP à jour + Excel 2003), fonctionne bien sur une autre machine (Win 2000 Pro + Excel 2000) mais ne fonctionne pas sur ma machine perso (Win XP à jour + Excel 2003)

    J'avoue ne pas comprendre d'où peut bien venir ce fichu problème ???

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    Et quel genre d'erreur obtiens - tu à la ligne 4 ?
    [edit] C'est dans le titre, autant pour moi

    Je ne vois pas du tout pourquoi ca fonctionnerait sur toutes les autres machines sauf la tienne... Une différence de configuration peut être, ou peut être au niveau des références activées ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Mars 2007
    Messages : 56
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par mickdu90 Voir le message
    Et quel genre d'erreur obtiens - tu à la ligne 4 ?
    Celle citée dans le titre, je ne me souviens pas des termes exacts, je suis au taff là.

    Cependant, j'ai remarqué en mode pas à pas que l'exécution passait bien cette instruction, exécutait la suivante, et ensuite me renvoyait une erreur sur cette ligne.

    L'instruction suivante étant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If calculing = False And Target.Count = 1 Then
            last = Target
        End If
    End Sub
    Cependant, je ne pense pas qu'elle soit vraiment exécutée après, je pencherais plutôt pour un évènement lors du copier-coller mais qui je pense ne gène pas à moins que je me trompe ?

    Edit: Je précise que ça ne rentre pas dans la condition lors du changement de sélection.
    De plus, les références comme tu en parles, sont bien les mêmes entre les deux machines XP, elles ne sont pas les mêmes pour office 2000 et office 2003 mais ça marche ( changement de version : office 9 & office 11)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    Je pense aussi que le copier coller doit foirer quelque part... Mais si il marche ailleurs, je ne pense pas que le code soit en cause ! Surtout si le poste de ton travail, et ton poste perso utilisent la même version de Excel. Et comme tu viens de l'ajouter, même avec des versions différentes il fonctionne.

    La machine serait en cause ?

    Est-il possible de tester ton code sur ma machine ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Mars 2007
    Messages : 56
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par mickdu90 Voir le message
    Je pense aussi que le copier coller doit foirer quelque part... Mais si il marche ailleurs, je ne pense pas que le code soit en cause ! Surtout si le poste de ton travail, et ton poste perso utilisent la même version de Excel...
    Surtout que je pense que le copier-coller est effectif sur ma machine.
    J'entends par là qu'il me semble qu'il soit effectué, je ne sais pas si toutes les données sont là (~22000 lignes) mais il y en a qui sont ramenées

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Il faudrait déjà être certain du message d'erreur, car l'erreur 1004 peut renvoyer différents messages...

    Sur ta machine, le filtre renvoie-t'il des lignes?
    La feuille "Temp" existe-t'elle?

    Tu dis que l'instruction suivante est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)...
    ce qui est impossible, car tu devrais au moins avoir un End Sub ou un End Function...

    Sois plus précis dans tes informations, cela nous permettra de t'aider plus efficacement...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Mars 2007
    Messages : 56
    Points : 58
    Points
    58
    Par défaut
    - Oui, le filtre me renvoie des lignes et le copier-coller semble se faire mais se termine avec cette erreur.
    - La feuille "Temp" existe bel et bien puisque c'est le même fichier que j'ouvre à la maison.
    - Ce n'est pas une "instruction" à proprement parler mais sur la feuille "job" (origine des données), il y a une interception de l'évènement "SelectionChange" et donc il intervient pendant le copier-coller mais pas au point de faire tout planter enfin je pense puisque ça marche ailleurs.

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Si le problème survient sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Selection.SpecialCells(xlCellTypeVisible).Rows.Copy Destination:=Sheets("temp").Range("A1")
    ( surlignée en jaune lors du débogage ), ce n'est pas possible que le collage soit réalisé...
    Quelles sont les lignes suivantes? Sur quelle ligne s'arrête le débogueur?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Mars 2007
    Messages : 56
    Points : 58
    Points
    58
    Par défaut
    Le débogueur s'arrète bien sur la ligne 4 c-a-d :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.SpecialCells(xlCellTypeVisible).Rows.Copy Destination:=Sheets("temp").Range("A1")
    et je précise que c'est bien sur le Paste que ça plante et non le Copy puisque j'ai essayé en deux étapes de la façon suivante et même soucis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Selection.SpecialCells(xlCellTypeVisible).Rows.Copy
    Sheets("temp").Range("A1").Select
    ActiveSheet.Paste
    et là ça plantait sur la 3ème ligne

    Et tu me dis que ne c'est pas possible que le collage soit réalisé et pourtant il l'est bien puisque des données sont présentes et que je vide la feuille "temp" avant avec un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Sheets("temp").Activate
    ActiveSheet.UsedRange.Clear

  10. #10
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Peux-tu donner le message d'erreur exact?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Mars 2007
    Messages : 56
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Peux-tu donner le message d'erreur exact?
    Ben pour le moment non puisque je suis au taff, mais dès que je peux je le ferai (ce soir sûrement)

  12. #12
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Ok. Je pense que ce sera plus simple pour trouver une solution...

    Bonne journée
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. Erreur la methode thisworkbook de l'objet application a echouée
    Par tamtam64 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/04/2015, 00h02
  2. [XL-2010] erreur 1004 methode delete classe range échouée
    Par emi81 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 13/03/2013, 17h50
  3. [XL-2007] Erreur 1004 avec Paste
    Par Lucky062 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/01/2011, 16h33
  4. [AC-2003] Erreur 1004 Methode echoué
    Par Misha dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/09/2009, 17h56
  5. [Toutes versions] ERREUR lors de la définition un objet Range
    Par nianko dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/06/2009, 10h48

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