Bonjour à tous,

je viens de reprendre un de mes ancien fichier pour le mettre à jour pour mes futures collègues.

Et là j'ai un message d'incompatibilité de type sur une ligne qui fonctionnait très bien.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
Sub Doublons()
Balise0
Call ColorIndexNone
Application.EnableEvents = False
'On declare les variables
    Dim ValInit, ValTrouv As String
    Dim I, J, K As Integer
    Dim Ws1, Ws2 As Worksheet
    Dim AdresBarillet1, AdresBarillet2 As String
    Set Ws1 = Worksheets("Salle des profs")
'On boucle sur les differentes feuilles pour la valeur de base
    For Each Ws1 In Worksheets
        'On boucle tant que la feuille Ws1 n'est pas "Conflits"
            If Ws1.Name <> "Conflits" Then
                'On boucle sur les differentes feuilles pour la valeur recherchee
                    For Each Ws2 In Worksheets
                        'On boucle tant que la feuille Ws2 n'est pas "Conflits"
                            If Ws2.Name <> "Conflits" Then
                                'On boucle sur les differentes lignes pour comparer les valeurs
                                    For I = 2 To Ws1.Range("B6000").End(xlUp).Row
                                        For J = 2 To Ws2.Range("A6000").End(xlUp).Row
                                            If I = J And Ws1.Name = Ws2.Name Then J = J + 1
                                                ValInit = Ws1.Range("C" & I)
                                                AdresBarillet1 = Ws1.Range("A" & I) & " - " & Ws1.Range("B" & I)
                                                ValTrouv = Ws2.Range("C" & J)
                                                AdresBarillet2 = Ws2.Range("A" & J) & " - " & Ws2.Range("B" & J)
                                                    If ValInit = "" Then GoTo 123
                                                        If ValTrouv = "" Then GoTo 123
                                                            If ValInit = ValTrouv Then _
                                                            Ws1.Range("F" & I) = "Doublon entre " & Ws1.Name & " - " & AdresBarillet1 & " & " & Ws2.Name & " - " & AdresBarillet2 And _
                                                            Ws2.Range("F" & J) = "Doublon entre " & Ws1.Name & " - " & AdresBarillet1 & " & " & Ws2.Name & " - " & AdresBarillet2
 
                                                            GoTo 123
123:
                                        Next J
                                    Next I
                            End If
                    Next Ws2
            End If
    Next Ws1
Application.EnableEvents = True
Balise1
End Sub
Il me surligne les lignes suivantes et je n'arrives à en découvrir la raison...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
If ValInit = ValTrouv Then _
Ws1.Range("F" & I) = "Doublon entre " & Ws1.Name & " - " & AdresBarillet1 & " & " & Ws2.Name & " - " & AdresBarillet2 And _
Ws2.Range("F" & J) = "Doublon entre " & Ws1.Name & " - " & AdresBarillet1 & " & " & Ws2.Name & " - " & AdresBarillet2
Est-ce que l'un d'entre vous aurait une idée ?

je ne peux malheureusement vous partager le ficher car il contient des données confidentielles.

je suis certain de passer à coté de quelque chose mais je ne vois pas quoi...