Erreur dans code - Incompatibilité de type

Bonjour à tous,

Je bloque sur ce code où j'ai une erreur au 1er IF.

Auriez-vous des idées pour la solution ?

Je ne pense pas être très loin mais je bloque.

Sub CopierColler()

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False

Dim A, B, C As Worksheet
Set A = Worksheets("Actions Wolf+réduc impot revenu")
Set B = Worksheets("Simu Actions Wolf pour PAS")
Set C = ActiveSheet

If C.Name = A.Name Or B.Name Then
    With Worksheets(C.Name)
    Dim i As Integer, LastLigne As Integer, LigneEnCours As Integer
    LastLigne = .Cells(41, 22).End(xlDown).Offset(1, 0).Row
    LigneEnCours = LastLigne
        For i = 1 To (LastLigne - 41)
            If .Cells(40 + i, 27) <> .Cells(40 + i, 26) And .Cells(40 + i, 27) <> 0 And .Cells(40 + i, 30) <> "" Then
            .Range(.Cells(40 + i, 22), .Cells(40 + i, 42)).Copy .Cells(LigneEnCours, 22)
            Union(.Range(.Cells(LigneEnCours, 30), .Cells(LigneEnCours, 32)), .Cells(LigneEnCours, 34), .Cells(LigneEnCours, 40)) = ""
            LigneEnCours = LigneEnCours + 1
            End If
        Next i

    'Ajoutte dernière bordure en gras et la 1ère en normal
        If .Cells(LigneEnCours - 1, 22) <> "" Then
            .Range(.Cells(LastLigne, 22), .Cells(LastLigne, 42)).Borders.Item(xlEdgeTop).Weight = 2
            .Range(.Cells(LigneEnCours - 1, 22), .Cells(LigneEnCours - 1, 42)).Borders.Item(xlEdgeBottom).Weight = -4138
        End If
    End With
End if

Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

End Sub

Merci à tous.

A+

Wolf76

Bonjour,

If C.Name = A.Name Or C.Name = B.Name Then

Pourquoi ne pas choisir directement A ou B ?

With A    ' ou B

   ' Suite du code

End With

Bonjour,

A l'exception de "i" dans les boucles For... Next et iauf exception dument motivée n'utilisez pas des noms de variables d'une seule lettre. Cela rend les recherches et les modifications ultérieures impossibles. Utilisez des noms de variables compréhensibles. Ws ou Sh conviennent parfaitement pour des noms de feuilles : N'importe qui comprend tout de suite. Quand vous aurez quelques années d'expériences vous pourrez (rarement déroger à cette règle, mais pour le moment tant que vous avez besoin d'aide faites en sorte que votre code ne soit pas rebutant !

WsA pour "Actions..."

WsS pour "Simu..."

Quand à ActiveSheet ça ne devrait pas exister... C'est quoi ActiveSheet ? WsA ou WsS ou WsAutre ???

A+

Merci Eric pour ta réponse.

J'aurai du le voir, sans doute mal réveillé.

Promis la prochaine fois je mets mes lunettes !!! ;)

Bonne journée à tous.

A++

Wolf76

Rechercher des sujets similaires à "erreur code incompatibilite type"