Erreur 1004

Fermé
Elo - Modifié par baladur13 le 28/06/2016 à 18:29
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 - 28 juin 2016 à 18:39
Bonjour,

Je suis un peu désespérée, j'innove donc les forums.

Voici ma problématique :
mon code marche très bien sous la version Excel 2013 d'un PC mais quand je change de support pour une tablette en version Excel 2007, le principe du code est de prendre une photo via une tablette et récupérer cette photo dans un dossier.

L'erreur 1004 apparaît à la ligne ActiveSheet.Paste et je ne comprends pas pourquoi (problème de version excel ou d'appareil photo ?). Avant l'annonce de l'erreur, excel me demande de choisir une source vidéo entre 2.


Const WM_CAP As Long = &H400
Const WM_CAP_DRIVER_CONNECT As Long = WM_CAP + 10
Const WM_CAP_DRIVER_DISCONNECT As Long = WM_CAP + 11
Const WM_CAP_EDIT_COPY As Long = WM_CAP + 30
Const WS_CHILD As Long = &H40000000
Const WS_VISIBLE As Long = &H10000000
Dim Ws As Worksheet
Dim Ndf As String

Sub Photo_Click()
Dim strName As String, strVer As String
Dim hwnd As Long, iDevice As Long

    iDevice = 0
    strName = Space(100)
    strVer = Space(100)
    If capGetDriverDescriptionA(iDevice, strName, 50, strVer, 50) Then
        hwnd = capCreateCaptureWindowA(iDevice, WS_CHILD, 0, 0, 60, 40, GetDesktopWindow(), 0)
        If hwnd Then
            SendMessage hwnd, WM_CAP_DRIVER_CONNECT, iDevice, 0
            SendMessage hwnd, WM_CAP_EDIT_COPY, 0, 0
            SendMessage hwnd, WM_CAP_DRIVER_DISCONNECT, iDevice, 0
            DestroyWindow hwnd
        End If
    End If
    Application.ScreenUpdating = False
    ActiveSheet.Range("Y2").Select
    <bold>ActiveSheet.Paste</bold>
    
    Ndf = Format(Date, "YYYY") & Format(Date, "MM") & Format(Date, "DD") & Format(Now(), "hhmm")
    
    Call Export_Image_de_Plage("Y2:AF12", Ndf)
    Call EffacePhoto("Pic")
    Application.ScreenUpdating = True
    Call Affiche_Photo(Cells(Range("A65000").End(xlUp).Row, 1))
End Sub



MERCI D'AVANCE DE VOTRE AIDE !

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
28 juin 2016 à 18:21
Salut,

Mets des balises
basic
pour commencer ce sera plus facile a lire.

Erreur 1004 donc erreur d'objet.
C'est surement parce-que tu demandes à coller dans la feuille active mais que tu ne dis pas ou et comme les anciennes versions de la classe active sheet ne doivent pas le supporter voili voilou
0
Je te remercie pour ta réponse Pierre :)

Effectivement mon annonce n'est pas très lisible... Je ne connaissais pas l'histoire des Basic.

Je suis novice en VBA, du coup j'ai essayé :
ActiveSheet.Paste Destination:=Range("Y2") et ActiveSheet.Paste Destination:=Range("Y2:AF12")

Mais j'ai toujours la même erreur. Est ce bien cela dont tu parlais ?
0
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
28 juin 2016 à 18:39
Je vois que tu copies le contenu d'une cellule, ou veux-tu le coller?
0