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 :

Couper/coller erreur d'exécution '1004'


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 9
    Par défaut Couper/coller erreur d'exécution '1004'
    Bonjour,

    J'essaye de couper des lignes de ma feuille "Parc" et de les insérer à la ligne 2 de ma feuille "Rebut" suivant certaines conditions mais le débogage m'affiche cette erreur : "Erreur d'exécution '1004': La méthode Cut de la classe Range a échoué.". L'erreur s'affiche à la ligne 25 et j'ignore comment la résoudre.

    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
    29
    30
    31
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim KeyCells As Range, KeyCells2 As Range
        Set KeyCells = Range("G2:G5000")
        Set KeyCells2 = Range("H2:H5000")
     
        If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
            Ligne1 = Target.Row
            ColonneRebut1 = Range("G" & Ligne1).Value
            ColonneStatus1 = Range("G" & Ligne1).Value
     
            If ColonneRebut1 <> "" And ColonneStatus1 = "Sorti Immo" Or ColonneRebut1 <> "" And ColonneStatus1 = "Destocké" Then
                Rows(Ligne1).Cut Sheets("Rebut").Rows(2).Insert
                MsgBox "La ligne " & Ligne1 & " vient d'être déplacée ... dans la feuille Rebut"
            End If
     
        End If
     
     
        If Not Application.Intersect(KeyCells2, Range(Target.Address)) Is Nothing Then
            Ligne2 = Target.Row
            ColonneRebut2 = Range("H" & Ligne2).Value
            ColonneStatus2 = Range("H" & Ligne2).Value
     
            If ColonneStatus2 = "Sorti Immo" And ColonneRebut2 <> "" Or ColonneStatus2 = "Destocké" And ColonneRebut2 <> "" Then
                Rows(Ligne2).Cut Sheets("Rebut").Rows(2).Insert
                MsgBox "La ligne " & Ligne2 & " vient d'être déplacée ... dans la feuille Rebut"
            End If
     
        End If
     
    End Sub
    Merci d'avance

    P.S: Je suis débutant en VBA.

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour,
    Je ne te promets rien , mais essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("Rebut").Rows(2).Insert
    Rows(Ligne2).Cut destination:=Sheets("Rebut").Rows(2)

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 9
    Par défaut
    Merci beaucoup, ça fonctionne !

    Cependant, je ne comprends pas comment ? Peux-tu m'expliquer s'il te plaît ?

  4. #4
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Je suis pas sûre de vraiment pouvoir l'expliquer.
    En "manuel", quand on copie une ligne, puis qu'on ajoute une ligne, la ligne copiée se colle sur la ligne ajoutée. Mais apparemment cela ne se passe pas en VBA... Du coup, ce que je te propose avec le code, c'est :
    1. Ajouter une ligne
    2. Copier la ligne voulue
    3. Coller sur la ligne ajoutée auparavant (destination indique la destination sur laquelle tu veux coller)

    Si ton problème est résolu, n'oublie pas de cliquer sur le bouton résolu
    Bon courage pour la suite !

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

Discussions similaires

  1. [XL-2010] Erreur d'exécution 1004 : Impossible de coller les informations
    Par Crysta17 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/04/2014, 14h26
  2. Réponses: 1
    Dernier message: 12/08/2009, 11h04
  3. Erreur d'exécution '1004' lors d'une mise en page
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/06/2007, 09h00
  4. [VBA-E] Erreur d'exécution '1004'
    Par bibi5883 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/03/2007, 14h31
  5. [VBA-E] erreur d'exécution 1004 ?
    Par toy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/05/2006, 13h15

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