Erreur de compilation dans un code

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

anthoYS

XLDnaute Barbatruc
Bonsoir à tous.

Comment faire pour que ces deux codes soient executables dans la même feuille?


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Not Application.Intersect(Target, [E3:J10]) Is Nothing Then Target.Interior.ColorIndex = IIf(Target.Interior.ColorIndex = 4, xlNone, 4)
If Target.Column = 4 Then
Cells(Target.Row, 4) = Date
End If
If Target.Column = 11 Then
Cells(Target.Row, 11) = Date
End If
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim c As Long, i As Long
If Intersect(Target, Range("Felkig")) Is Nothing Then Exit Sub
c = Target.Interior.ColorIndex
For i = 1 To Range("palette").Count
If Range("palette").Cells(i, 1).Interior.ColorIndex = c Then
Target.Interior.ColorIndex = Range("palette").Cells(i + 1, 1).Interior.ColorIndex
Target.Font.ColorIndex = Range("palette").Cells(i + 1, 1).Font.ColorIndex
i = Range("palette").Count
Cancel = True
End If
Next i
End Sub



Merci par avance.
 
Re : Erreur de compilation dans un code

Bonsoir

Il faut mettre les deux codes dans la même procédure en les différenciant par les cellules ou l'on doit appliquer le doubleClick

If Not Application.Intersect(Target, [E3:J10]) Is Nothing

end if
If Not Application.Intersect(Target, [a3:b10]) Is Nothing

end if
Par exemple

JP
 
Re : Erreur de compilation dans un code

Bonsoir antohYS, le Forum,
Je pense qu'il te faut faire un seul code compte tenu qu'il s'agit de la même condition (double click

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim c As Long, i As Long
Cancel = True
If Not Application.Intersect(Target, [E3:J10]) Is Nothing Then Target.Interior.ColorIndex = IIf(Target.Interior.ColorIndex = 4, xlNone, 4)
If Target.Column = 4 Then
Cells(Target.Row, 4) = Date
End If
If Target.Column = 11 Then
Cells(Target.Row, 11) = Date
End If
If Intersect(Target, Range("Felkig")) Is Nothing Then Exit Sub
c = Target.Interior.ColorIndex
For i = 1 To Range("palette").Count
If Range("palette").Cells(i, 1).Interior.ColorIndex = c Then
Target.Interior.ColorIndex = Range("palette").Cells(i + 1, 1).Interior.ColorIndex
Target.Font.ColorIndex = Range("palette").Cells(i + 1, 1).Font.ColorIndex
i = Range("palette").Count
Cancel = True
End If
Next i
End Sub

Bonne continuation
 
Re : Erreur de compilation dans un code

Re,

Erreur d'execution '9',
L'indice n'appartient pas à la selection/Débogage :


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim c As Long, i As Long
Cancel = True
If Not Application.Intersect(Target, [E3:J10]) Is Nothing Then Target.Interior.ColorIndex = IIf(Target.Interior.ColorIndex = 4, xlNone, 4)
If Target.Column = 4 Then
Cells(Target.Row, 4) = Date
End If
If Target.Column = 11 Then
Cells(Target.Row, 11) = Date
End If
If Intersect(Target, Range("Designat")) Is Nothing Then Exit Sub
c = Target.Interior.ColorIndex
For i = 1 To Range("PLR").Count
If Range("PLR").Cells(i, 1).Interior.ColorIndex = c Then

Target.Interior.ColorIndex = Range("PLR").Cells(i + 1, 1).Interior.ColorIndex
Target.Font.ColorIndex = Range("PLR").Cells(i + 1, 1).Font.ColorIndex
i = Range("PLR").Count
Cancel = True
End If
Next i
End Sub


Laligne en rouge est en réalité en fond jaune.

Merci par avance à ceux qui ont une idée et qui me la transmettrons.
 
Dernière édition:
Re : Erreur de compilation dans un code

Bonsoir le fil, noviceAG, Anthoys

Code:
For i = 1 To [B][COLOR=red]Range("PLR").Count[/COLOR][/B]
If Range("PLR").Cells(i, 1).Interior.ColorIndex = c Then
Target.Interior.ColorIndex = [COLOR=red][B]Range("PLR").Cells(i + 1, 1)[/B][/COLOR][COLOR=black].Interior.ColorIndex[/COLOR]
Tu as le choix entre les 2 lignes suivantes :
- For i = 1 To Range("PLR").Count - 1
- For i = 0 To Range("PLR").Count

A plus
 
Re : Erreur de compilation dans un code

Re,

Soenda, j'ai changé comme tu me l'a préconnisé, mais là plus de message d'erreur, seulement la date ok. Mais pour la coloration, rien.
Cela reste blance malgré n double clics...

Range("PLR").Cells(i + 1, 1)

Pourquoi ceci est-il en rouge?

Alors que la modification est enoncé de ta part pour :
"For i = 1 To Range("PLR").Count"

Merci,
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
791
Retour