Bonjour ,
J'ai un code qui est utilisé dans plusieurs feuilles. Je veux le mettre dans un module pour réduire les écritures , mais j'ai l'erreur d'exécution 91 variable objet ou variable de bloc with non définie.
Ce code dans la feuille fonctionne:
Et celui ci dans un module qui plante :
Cela éclaircirait bien mon classeur de mettre ces lignes de code dans un module
J'ai un code qui est utilisé dans plusieurs feuilles. Je veux le mettre dans un module pour réduire les écritures , mais j'ai l'erreur d'exécution 91 variable objet ou variable de bloc with non définie.
Ce code dans la feuille fonctionne:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Copier la mise en forme des N° ( affectations)
Dim Intérieur As Integer, Couleur As Long, Référence As Integer, i As Integer, cel As Variant
Dim Taille_police As Integer, Souligné As Integer, Couleur_police As Long, Gras_ou_non As Boolean
If Target.Count > 1 Then Exit Sub 'sortir s'il y a plusieurs copie
On Error Resume Next
If Not Application.Intersect(Target, Range("C6:C26,H6:30,M6:M37,R6:R39")) Is Nothing Then
Référence = Target
With Sheets("PARC")
For i = 7 To .Range("C65000").End(xlUp).Row
If .Cells(i, 3) = Référence Then
GoTo Etiquette
End If
Next
Etiquette:
Intérieur = .Cells(i, 3).Interior.Pattern
Couleur = .Cells(i, 3).Interior.Color
Taille_police = .Cells(i, 3).Font.Size
Souligné = .Cells(i, 3).Font.Underline
Couleur_police = .Cells(i, 3).Font.Color
Gras_ou_non = .Cells(i, 3).Font.Bold
End With
Target.Interior.Pattern = Intérieur
Target.Interior.Color = Couleur
Target.Font.Size = Taille_police
Target.Font.Underline = Souligné
Target.Font.Color = Couleur_police
Target.Font.Bold = Gras_ou_non
End If
End Sub
Et celui ci dans un module qui plante :
Code:
Sub Affectations_R_V_B_J()
'Copier la mise en forme des N° ( affectations)
Dim Intérieur As Integer, Couleur As Long, Référence As Integer, i As Integer, cel As Variant
Dim Taille_police As Integer, Souligné As Integer, Couleur_police As Long, Gras_ou_non As Boolean
Dim Target As Range
If Target.Count > 1 Then Exit Sub 'sortir s'il y a plusieurs copie
On Error Resume Next
If Not Application.Intersect(Target, Range("C6:C26,H6:30,M6:M37,R6:R39")) Is Nothing Then
Référence = Target
With Sheets("PARC")
For i = 7 To .Range("C65000").End(xlUp).Row
If .Cells(i, 3) = Référence Then
GoTo Etiquette
End If
Next
Etiquette:
Intérieur = .Cells(i, 3).Interior.Pattern
Couleur = .Cells(i, 3).Interior.Color
Taille_police = .Cells(i, 3).Font.Size
Souligné = .Cells(i, 3).Font.Underline
Couleur_police = .Cells(i, 3).Font.Color
Gras_ou_non = .Cells(i, 3).Font.Bold
End With
Target.Interior.Pattern = Intérieur
Target.Interior.Color = Couleur
Target.Font.Size = Taille_police
Target.Font.Underline = Souligné
Target.Font.Color = Couleur_police
Target.Font.Bold = Gras_ou_non
End If
End Sub
Cela éclaircirait bien mon classeur de mettre ces lignes de code dans un module