Erreur d'execution 1004 sous VBA

Fermé
nyark Messages postés 96 Date d'inscription lundi 6 août 2007 Statut Membre Dernière intervention 21 janvier 2016 - Modifié par nyark le 9/09/2015 à 20:00
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 12 sept. 2015 à 15:16
Bonjour,

J'ai une chose très étrange sous VBA.
le but est de faire un copier/coller d'une plage de cellule entre 2 feuilles.
ces plage peuvent etre de différente taille.

l'erreur est: "Erreur défini par l'application ou par l'objet"

cette partie fonctionne très bien
    ElseIf col2p1 <= col3p1 Then
        If col2p1 + Sheets("Details epissures").Cells(3, (5 * numep)) < 131 Then
            Sheets("Details epissures").Range(Cells(3, ((5 * numep) - 4)), Cells(Sheets("Details epissures").Cells(3, 5 * numep) + 2, ((5 * numep) - 1))).Copy
            Sheets("Tri_epissures").Cells(col2p1, 6).PasteSpecial xlPasteAll
            col2p1 = col2p1 + Sheets("Details epissures").Cells(3, (5 * numep)) + 2
            GoTo suiteEP
        Else
            GoTo page2
        End If

mais pas celle la qui me met l'erreur
    Else
        If col3p1 + Sheets("Details epissures").Cells(3, (5 * numep)) < 131 Then
->            Sheets("Details epissures").Range(Cells(3, ((5 * numep) - 4)), Cells(Sheets("Details epissures").Cells(3, 5 * numep) + 2, ((5 * numep) - 1))).Copy
            Sheets("Tri_epissures").Cells(col3p1, 11).PasteSpecial xlPasteAll
            col3p1 = col3p1 + Sheets("Details epissures").Cells(3, (5 * numep)) + 2
            GoTo suiteEP
        Else
            GoTo page2
        End If
    End If


par contre quand je suis en mode débogueur, pas de souci.

1 réponse

ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
Modifié par ccm81 le 12/09/2015 à 15:19
Bonjour

En essayant de simplifier un peu le code
Else
  If col3p1 + .Cells(3, (5 * numep)) < 131 Then
    With Sheets("Details epissures")
      .Range(.Cells(3, ((5 * numep) - 4)), .Cells(3, 5 * numep) + 2, ((5 * numep) - 1)).Copy Sheets("Tri_epissures").Cells(col3p1, 11)
      col3p1 = col3p1 + .Cells(3, (5 * numep)) + 2
      GoTo suiteEP
    End With
  Else
    GoTo page2
  End If
End If

Cordialement
0