La méthode pastespecial de la classe Range échoue

Fermé
cameleon1881 Messages postés 20 Date d'inscription lundi 6 janvier 2014 Statut Membre Dernière intervention 5 juillet 2022 - 5 juil. 2022 à 14:38
f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 - 5 juil. 2022 à 18:48
Bonjour,

Bonjour tout le monde, j'espère que vous allez bien :)

Je suis encore novice en Vba sous Excel et je rencontre une difficulté qui me bloque sur des heures maintenant. En effet, je reçois cette notification d'erreur lors de l'exécution de mon code : Erreur d'exécution 1004 : la méthode pastespecial de la classe Range a échoué

Voici mon code :

Private Sub CommandButton1_Click()

Dim i As Integer, Verif As Boolean

With Sheets("UTILITAIRE")
For i = 4 To .Range("AM4").End(xlDown).Row
If ComboBox1 = .Cells(i, 39) Then Verif = True: Exit For
Next i

If Not Verif Then
i = Sheets("UTILITAIRE").Range("AM4").End(xlDown).Row + 1
ComboBox1.Copy
Sheets("UTILITAIRE").Cells(i, 39).PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, SkipBlanks:=False, Transpose:=False

End If
End With
End Sub


s'il vous plait dépannez moi :)

Merci



Configuration: Windows / Chrome 103.0.0.0

1 réponse

f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
5 juil. 2022 à 18:48
Bonjour,

Copy Paste ne marche qu'avec des cellules

Private Sub CommandButton1_Click()
    Dim i As Long, Verif As Boolean
    
    With Sheets("UTILITAIRE")
        Nb = Application.CountIf(.Columns(39), ComboBox1)       'nombre de fois valeur combox1 dans colonne AM
        If Nb = 0 Then
            i = Sheets("UTILITAIRE").Range("AM4").End(xlDown).Row + 1
            Sheets("UTILITAIRE").Cells(i, 39) = ComboBox1           'ecriture valeur combobx1 dans premiere cellule vide
        End If
    End With
End Sub
0