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 :

VBA Erreur 1004 avec sélection de colonnes non contiguës [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    logisticien
    Inscrit en
    Août 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : logisticien

    Informations forums :
    Inscription : Août 2014
    Messages : 28
    Points : 21
    Points
    21
    Par défaut VBA Erreur 1004 avec sélection de colonnes non contiguës
    Bonjour à tous,

    Je suis dans une impasse et je ne comprends pas pourquoi. Je fais donc appel aux experts et aux confirmés de ce forum.
    J’avais écris un code pour copier plusieurs colonnes, contiguës et non contiguës, d’une feuille à une autre. Ci-dessous le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Copier_Données_dans_Alerte()
    Worksheets("Alerte").Cells.Clear
    Worksheets("Données").Select
    Range("A:A,B:B,C:C,F:F,G:G,I:I,L:L,M:M").Select
    Selection.Copy
    Sheets("Alerte").Select
    Range("A1").Select
    ActiveSheet.Paste
    End Sub
    Celui-ci a bien fonctionné plusieurs fois, plusieurs jours d’affilée.
    Ce code est dans le classeur PERSONAL.xlsb de sorte qu’il est utilisable dans tous les classeurs, pourvu que ceux-ci contiennent les mêmes noms de feuilles.

    Aujourd’hui j’ai le message d’erreur sur la ligne 4 : "Erreur d’exécution 1004" La méthode "range" de l’objet "_Global " a échoué.

    J’ai alors essayer les syntaxes suivante, avec en retour le même message d’erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("A:A,B:B,C:C,F:F,G:G,I:I,L:L,M:M").Select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A:C,F:G,I:I,L:M").Select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("A:C,F:G,I:I,L:M").Select
    J’ai ensuite essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Columns("A:A,B:B,C:C,F:F,G:G,I:I,L:L,M:M").Select
    qui m’a renvoyé le message : " Erreur d’exécution 13 " Incompatibilité de type

    J’ai alors essayé avec de sélectionner une seule colonne puis plusieurs contiguës avec les instructions
    Range("A:A").Select puis
    Range("A:C").Select
    et là ça fonctionne, quelles que soient les colonnes colonnes sélectionnées.

    Il semblerait donc que la virgule comme « séparateur » ne soit plus reconnue alors que cela fonctionnait sans problème auparavant.

    J’ai essayé dans un autre classeur où j’ai créé les feuilles « Données » et « Alerte » et le problème persiste.

    J’avoue que ce mystère est bien agaçant.
    Merci de votre aide.
    Cordialement

  2. #2
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour Pétrin, bonjour le forum,

    Peut-être comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Union(Columns("A:C"), Columns("F:G"), Columns("I:I"), Columns("L:M")).Select
    À plus,

    Thauthème

    Je suis Charlie

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Bonjour,

    Ceci fonctionne bien ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Copier_Données_dans_Alerte()
        Worksheets("Alerte").Cells.Clear
        Worksheets("Données").Range("A:A,B:B,C:C,F:F,G:G,I:I,L:L,M:M").Copy
        Sheets("Alerte").Range("A1").PasteSpecial
    End Sub
    MPi²

  4. #4
    Membre à l'essai
    Homme Profil pro
    logisticien
    Inscrit en
    Août 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : logisticien

    Informations forums :
    Inscription : Août 2014
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Parmi, Tautheme,

    merci beaucoup ! Chacune de vos solutions fonctionne.
    Merci aussi pour votre diligence.
    Cordialement

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

Discussions similaires

  1. Vba Excel Erreur 1004 avec Addcomment
    Par lhssen dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/10/2013, 16h11
  2. j'ai une erreur 1004 avec mon vba ?
    Par isodoro dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/03/2009, 10h13
  3. VBA erreur 1004
    Par serar dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/04/2008, 09h31
  4. [VBA][EXCEL]Erreur '1004' avec "Application.Run"
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/01/2006, 10h50
  5. [Excel] Erreur 1004 avec un search
    Par Rakham dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/12/2005, 13h54

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