La méthode Paste de de la classe Worksheet a échoué

Bonjour,

J'ai un classeur Excel qui fonctionnait parfaitement jusqu'à maintenant, mais aujourd'hui quand l'exécute une routine VBA ci-dessous j'obtiens l'erreur 1004 suivante:

"La méthode Paste de de la classe Worksheet a échoué"

et elle s'arrête sur la ligne "ActiveSheet.Paste".

Puis en touchant la touche F8 dans le déblocage j'arrive à mener la routine à son à son terme.

Je ne comprends pas ce qui se passe, peut être que quelqu'un pourrait m'éclairer.

Merci par avance.

Surkrut

Private Sub Worksheet_Change(ByVal Target As Range)

Dim i As Integer
i = 5 'colonne où regarder pour la 1ère Boucle (ici E =Exercice pour Lundi)
Dim number As Integer
number = 5 'nombre de jours dans le formulaire

'Départ de la Routine
Do Until number = 0
If number <= 0 Then Exit Do
number = number - 1

If Target.Column = i And Target.Count = 1 Then
Position = ActiveCell.Address 'enregistre la position de départ

'-- Supprime l'image actuelle
For Each s In ActiveSheet.Shapes 'pour chaque image de la feuille
If s.Type <> 8 Then
If s.TopLeftCell.Address = Target.Offset(0, -2).Address Then
s.Delete
End If
End If
Next s
'-- insère l'image correspondante à la valeur dans la colonne à droite de "liste"
If Target <> "" Then
lig = [liste].Find(Target, LookAt:=xlWhole).Row
col = [liste].Column + 1
For Each s In Sheets("BD").Shapes
If s.TopLeftCell.Address = Cells(lig, col).Address Then s.Copy
Next s
Target.Offset(0, -2).Select
ActiveSheet.Paste
Selection.ShapeRange.Left = ActiveCell.Left + 7 'position de l'image dans la celulle
Selection.ShapeRange.Top = ActiveCell.Top + 5
Target.Select
If Target.Value = "n.a." Then Call Vider_les_cellules
End If

End If

'--Incrémente la variable i pour passer à la colonne Exercice du jour suivant (ici 0 pour Mardi, Y pour mercredi, ...).
i = i + 10
Loop
'Target.Select
End Sub

Bonjour et bienvenue,

ceci est redondant

Do Until number = 0
If number <= 0 Then Exit Do

mais ce n'est pas le sujet

as-tu un fichier excel, même réduit au problème rencontré ?

Bonjour Steelson et merci pour ta réponse.

Je veux bien t'envoyer le fichier, mais celui-ci, même allégé au max "pèse" encore plus de 7 Mo
et ne passe pas en pièce jointe.
As-tu une autre solution pour te le transmettre?

J'ai trouvé une solution sur un site d'aide en anglais.

Il suffit d'insérer la fonction DoEvents avant ActiveSheet.Paste !

Rechercher des sujets similaires à "methode paste classe worksheet echoue"