ActiveSheet.Paste Erreur

  • Initiateur de la discussion Initiateur de la discussion vbbil
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

vbbil

XLDnaute Nouveau
Bonjour à tous,

Ne trouvant pas de solution à mon problème, j’espère trouver de l’aide sur le forum.

J'utilise une macro sous Excel 2000+SP3, qui semble relativement simple (ci-dessous), et qui copie un ensemble de ligne d'une feuille vers une autre selon un critère sur une colonne de la première feuille.

Le grand mystère, c'est que cette macro fonctionne une fois sur deux ou trois !!! J'ai toujours le même message d'erreur à la ligne "ActiveSheet.Paste" :
Erreur d'exécution '1004' : La méthode Paste de la classe Worksheet a échoué.

Merci pour votre aide.


Sub Closed_Tlsfals()
ActiveWorkbook.Unprotect Password:="vb"
Dim k, l As Integer
l = 19
For k = 16 To 496
Sheets("TLS FALS WAVE 1").Select
ActiveSheet.Unprotect Password:="vb"
If Cells(k, 9).Value = "Closed" Then
Range(Cells(k, 2), Cells(l, 31)).Select
Selection.Copy
Sheets("Closed").Select
ActiveSheet.Unprotect Password:="vb"
ActiveSheet.Range("B65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
ActiveCell = " "
ActiveCell.Offset(1, 0).Select
ActiveCell = " "
ActiveCell.Offset(1, 0).Select
ActiveCell = " "
Sheets("TLS FALS WAVE 1").Select
Selection.Delete Shift:=xlUp
k = k - 4
l = l - 4
End If
k = k + 3
l = l + 4
Next k

Sheets("TLS FALS WAVE 1").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="vb"
Sheets("Closed").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="vb"
ActiveWorkbook.Protect Structure:=True, Windows:=False, Password:="vb"

End Sub
 
Re : ActiveSheet.Paste Erreur

Bonjour VbBil,

Essaie avec une boucle comme celle-ci:

Code:
    ActiveWorkbook.Unprotect Password:="vb"
    Dim k, l As Integer
    [COLOR=red]Dim Dest As Range[/COLOR]
    l = 19
    For k = 16 To 496
        Sheets("TLS FALS WAVE 1").Select
        ActiveSheet.Unprotect Password:="vb"
        [COLOR=red]Sheets("Closed").Unprotect Password:="vb"[/COLOR]
        If Cells(k, 9).Value = "Closed" Then
            [COLOR=red]Dest = Sheets("Closed").Range("B65536").End(xlUp).Offset(1, 0)[/COLOR]
[COLOR=red]           With Range(Cells(k, 2), Cells(l, 31))[/COLOR]
[COLOR=red]               .Copy Destination:=Dest[/COLOR]
[COLOR=red]               .Delete Shift:=xlUp[/COLOR]
[COLOR=red]           End With[/COLOR]
[COLOR=red]           Dest.Offset(1).Resize(3) = " "[/COLOR]
            k = k - 4
            l = l - 4
        End If
        k = k + 3
        l = l + 4
    Next k

A+
 
Re : ActiveSheet.Paste Erreur

Bonjour Hasco, et merci pour ta réponse.

Je viens d'essayer ta macro malheureusement j'ai l'erreur suivante:
Erreur d'exscution 91 : variable objet ou variable de bloc With non définie sur la ligne :
Dest = Sheets("Closed").Range("B65536").End(xlUp).Offset(1, 0)

Je ne trouve pas pourquoi. Je bidouille avec les macro mais pas plus que ça. Alors si tu as une idée de la cause de ce problème, merci de ton retour.

V.
 
Re : ActiveSheet.Paste Erreur

Re,

N'ayant pas ton classeur je n'avais pas pu tester et me rendre compte que j'avais oublié un mot.
remplace la ligne par :

Code:
Set Dest = Sheets("Closed").Range("B65536").End(xlUp).Offset( 1, 0)

Le Set avait disparu.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
17
Affichages
1 K
Réponses
16
Affichages
1 K
Réponses
3
Affichages
834
Réponses
5
Affichages
591
Réponses
2
Affichages
540
Retour