bonsoir a tous,

alors voila je me prends la tête depuis quelques jours avec une boucle que je n'arrive pas a finir :/ c'est en fait 3 boucles imbriqués.

voici le code :

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
w = 2 
Sheets("RECAP").Select
nl = Range ("A655363").End(xlUp).Row
For y = 2 To nl 
Sheets("RECAP").Select
If Cells(y, 10)="CLIDIR" Then
Sheets("RECAP").Select
ref = Cells(y, 1)
Sheets("SQL DO").Select
Do While Cells(w, 1) <> ""
c = 0 
refdo = Cells(w,1)
Do Until refdo = ref
w = w + 1
c = c + 1
Loop
If c > 0 Then 
Sheets("RECAP").Select 
Rows(y).Select
Selection.Delete shift:=xlUp
y = y - 1
Else
End If 
y = y + 1
Sheets("SQL DO").Select 
Loop
End If
Next
ce n'est pas une erreur il n'y a aucune majuscule et certains espaces mais la base est la [corrigé]. a force de chercher et de toucher le code est un peu "bordélique" désolé :/
je vous explique rapidement : on doit prendre dans une première feuille appelé RECAP les lignes ou il y a "CLIDIR" dans une des colonnes, puis regarder dans une autre feuille appelé SQL DO que le nom de la ligne (un nom de boite en fait) se trouve bien aussi dans cette feuille. si elle est dans les 2 feuilles alors on passe a la ligne suivante (dans la feuille RECAP) sinon on supprime la ligne.
c'est pas très compréhensible je vous l'accord donc si vous voulez plus d'infos pour m'aider je ferai un effort pour tout expliquer correctement.

je me retrouve soit avec une boucle infini soit une boucle mal placée donc ca fait pas ce que je veux :/

merci d'avance de votre aide