Erreur pendant couper-coller vba excel

Signaler
Messages postés
27
Date d'inscription
jeudi 5 mai 2011
Statut
Membre
Dernière intervention
18 mai 2011
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour,
Voilà, je voudrais faire un couper-coller dans un fichier excel grâce à vba, mais j'ai une erreur ("1004", erreur définie par l'application ou par l'objet) qui apparait.
Voici mon code :
For l = 0 To 2
     Cells(ligne + l, 1).EntireRow.Select
     Selection.Cut
     Cells(ligne_mag + 5 * (j - 1) + l, 1).EntireRow.Select
     ActiveSheet.Paste
                            
     Cells(ligne + l, 1).EntireRow.Select
     Selection.Delete
 Next


Merci pour votre aide !

11 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Bonjour,

Bien malin serait celui qui pourrait te répondre valablement sans connaître la valeur, au moment du blocage, de :
- ligne
- ligne_mag
- j

entre en mode debug, regarde ces valeurs et dis-nous donc


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
27
Date d'inscription
jeudi 5 mai 2011
Statut
Membre
Dernière intervention
18 mai 2011

Pas faux, désolé ucfoutu !
Alors ligne = 56
ligne_mag=14 et j=2

Mais ce que j'ai oublié de dire je crois, c'est que l'erreur s'affiche dès la 1ere ligne dans la boucle (Cells(ligne + l, 1).EntireRow.Select) !
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
testé chez moi ===> AUCUNE erreur avec CES valeurs !
reste à savoir pourquoi tu en as une, toi !
- quelle est la nature de ta ligne 56 ? Est-elle protégée (et si oui comment) ? Est-elle masquée ?
- le code montré est-il bien le résultat d'un copier-coller du tien ? (pour éviter que dans ton code réel, une faute d'orthographe, sur le mot ligne, par exemple, ne vienne tout troubler)


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
et si tu nous disais maintenant avec précision, ce que tu cherches à faire par ce code ?
Ilo est à première vue fort vraisemblable qu'on pourrait le faire sans tous ces vilains Select, Paste, etc ... et qu'on n'aurait même pas besoin d'une boucle !

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
27
Date d'inscription
jeudi 5 mai 2011
Statut
Membre
Dernière intervention
18 mai 2011

Effectivement, j'ai copié collé mon code dans mon message.
J'ai donc essayé de mon côté à copier ce code sur un nouveau fichier (ainsi que ma ligne 56 dans le classeur), et CA MARCHE... mais ça ne marche pas sur celui où je veux que ça marche !
C'est vraiment bizarre !
Messages postés
27
Date d'inscription
jeudi 5 mai 2011
Statut
Membre
Dernière intervention
18 mai 2011

et si tu nous disais maintenant avec précision, ce que tu cherches à faire par ce code ?

Ce que je veux faire avec ce code ? Couper coller 3 lignes pour les mettre à un autre endroit de ma feuille (et supprimer les lignes vides de l'endroit d'origine de mes lignes...)
En fait, j'ai réussi à le faire tourner une fois (sans rien changer) mais j'ai réessayé 2 fois, et ça ne marche pas !
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Je te laisse comprendre et adapter ceci :
ligne = 10
 ligne_mag = 14
 j = 2
 Dim quoi As Range
 Set quoi = Union(Rows(ligne), Rows(ligne + 1), Rows(ligne + 2))
 quoi.Copy Destination:=Rows(ligne_mag + 5 * (j - 1) + l)
 quoi.Delete


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
27
Date d'inscription
jeudi 5 mai 2011
Statut
Membre
Dernière intervention
18 mai 2011

Euh la bonne nouvelle sur mon fichier c'est que "quoi" se supprime, mais en tout cas, les données ne sont pas collées à un quelconque endroit...
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Désolé, mais j'ai testé chez moi.
quoi est supprimé et ce qu'ilcontenait est copié à partir de la ligne 16
Alors ?


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
27
Date d'inscription
jeudi 5 mai 2011
Statut
Membre
Dernière intervention
18 mai 2011

Oui ça marche, mais pas sur mon fichier, je vais essayer de ne pas utiliser de couper_coller !
Merci quand même pour ton aide !
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Oui ça marche, mais pas sur mon fichier


Ce n'est donc pas ce code, qui est à mettre en cause, mais autre chose (protection ?, code mis dans un module autre que celui de la feuille concernée ?, etc ..)
Et cela, tu es en l'état actuel des choises bien la seule à pouvoir le vérifier.
Bonne chance.



____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est