Erreur objet sur le range

Résolu
boubou063402 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
boubou063402 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je travaille sur excel 2010 et j'ai fait beaucoup de vb.

Pour la première fois, je travaille sur la mise en forme conditionnelle avec vb.

ça a fonctionné mais maintenant il bloque sur le .formatcond... ou autre .interior.... que j'utilise avec mon with range...

'erreur d'exécution 1004'
erreur définie par lapplication ou l'objet

Je joins mon code car le fichier est trop gros:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim i As Integer
Dim DerCol As Integer
Dim val1 As Integer
Dim val2 As Integer
Dim colonne As String

Worksheets("Feuil1").Protect , UserInterFaceOnly:=True

DerCol = Range("G6:ZZ6").End(xlToRight).Column

For i = 2 To 5
'MsgBox "val 1 : " & Worksheets("Paramétrage").Cells(i, 2).Value & " val 2 " & Worksheets("Paramétrage").Cells(i + 1, 2).Value
val1 = Worksheets("Paramétrage").Cells(i, 2).Value + 1
val2 = Worksheets("Paramétrage").Cells(i + 1, 2).Value - 1
colonne = NomDeColonne(DerCol)

With Range("G" & val1 & ":" & colonne & val2) 'Sélection des plages où doit s'appliquer la MeF
'Supprime les MFC existantes
.FormatConditions.Delete


.Interior.Color = xlNone
'Ajoute une condition (Vrai lorsque la cellule est non vide)
.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:=" "

With .FormatConditions(1)
'Définit la couleur de fond de la cellule lorsque la condition sera vraie.
Select Case i
Case 2
.Interior.Color = Cells(Worksheets("Paramétrage").Cells(i, 2), 2).Interior.Color
Case 3
.Interior.Color = Cells(Worksheets("Paramétrage").Cells(i, 2), 2).Interior.Color
Case 4
.Interior.Color = Cells(Worksheets("Paramétrage").Cells(i, 2), 2).Interior.Color
Case 5
.Interior.Color = Cells(Worksheets("Paramétrage").Cells(i, 2), 2).Interior.Color
End Select
' .Interior.ColorIndex = 15 'Gris

End With
End With
Next i
End Sub

Est-ce que quelqu'un pourrait m'aider, je suis dessus depuis 1 heure + forums...

2 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Regardes la valeur des variables val1, val2, colonne, quand ça plante
0
boubou063402 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

non, il n'y a pas de souci de ce coté là.
j'ai mis range("A1:B2") et ça plante aussi.

Je pense que ca vient de la protection ou du nombre de MEF conditionnelle (pourtant j'essaie de les supprimer)
0
boubou063402 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
après des vérifications, le probleme vient de la protection.

Quand je l’enlève en cliquant, ça remarche mais quand je remet la protection, plantage!!!!!!!!

Pour autant, je verrouille pour être sûr que les autres utilisateurs ne fassent pas de bétises!!!!
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
bonjour,
tu peux probablement enlever et remettre la protection automatiquement.
est-ce ce que tu souhaites?
0
boubou063402 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai déjà mis : Worksheets("Feuil1").Protect , UserInterFaceOnly:=True

qui autorise seulement VBA à faire des modifs
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > boubou063402 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
et donc, tout va bien?
0
boubou063402 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
non, ça plante toujours
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > boubou063402 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
as-tu essayé
Worksheets("Feuil1").unprotect
?
0