Problème sous excel...

Fermé
rafar - 20 juil. 2011 à 16:20
Bonjour,
Je suis depuis plusieurs jours sur le même problème, je cherche mais sans résultat...
Voici mon problème:

Je voudrais pouvoir effacer de la feuille1 toutes les lignes
dont le numéro de commande et la quantité sont aussi présente dans la feuille 2, et la je bloque...
Quelqu'un peut-il m'aider.?
Merci d'avance

fichier 1:
A B
200 025000
100 025000
10 025001
2 025001
8 025002
20 025002
12 025003
3 025003

fichier 2:

A B
200 25000+bat
300 25000+prod
5 25001
9 25001
0 25002
0 25002
20 25003 + production
2 25003

Voici le code que j'ai pour l'instant, il marque les lignes identiques dans le deuxième fichier:

Sub test()

' Feuil1 la base à comparer avec la feuil2
Set F1 = Sheets("EN-COURS")
derf1 = F1.Range("A65536").End(xlUp).Row

' Les donner de la feuil2
Set F2 = Sheets("fichier_OCE")
derf2 = F2.Range("A65536").End(xlUp).Row

' Nettoyage
F2.Range(F2.Cells(1, 5), F2.Cells(derf2, 6)).Clear


' Boucle sur les cellule de la feuil1 de la colonne C
For Each c In F1.Range(F1.Cells(1, 3), F1.Cells(derf1, 3))
' Boucle sur les cellule de la feuil2 de la colonne D
For Each j In F2.Range(F2.Cells(1, 4), F2.Cells(derf2, 4))

'Sheets("fichier_OCE").Activate

'Découpage du resultat de la cellule D (séparateur de texte "espace")
tabl1 = Split(j, " ")
' Boucle en tableau
For k = 0 To UBound(tabl1)
' Condition à respecter
If Right(c, Len(c) - 1) = tabl1(k) Then
Range(j.Address).Activate
With Selection
.Interior.ColorIndex = 4
.Font.Bold = True
End With
Range(j.Address).Offset(, 1) = c & " Existe F1"
' L'autre condition si la quantité de la feuil1 = à la feuil2
If c.Offset(, -2) = j.Offset(, -2) Then
Range(j.Address).Offset(, 2) = c.Offset(, -2) & " Existe F1"
Range(j.Address).Offset(, -2).Activate
With Selection
.Interior.ColorIndex = 4
.Font.Bold = True
End With
End If
Else
End If
Next k
Next j
Next c
End Sub