Erreur ....Comparaison des Valeurs de différentes cellules

Bonjour le Forum!

J'ai un petit soucis pour comparer les données d'une cellule excel, j'espère que l'un de vous saura m'aider! ^^

En tous les cas MERCI pour ce forum d'entre-aide!

voici mon programme:

Sub Macro3()

'

' Filtre pour trouver la surface de référence max (ColJ) --> Cellule (ligne, 36) = Valeur de la Cellule (ligne, 10)* Valeur de la cellule (ligne, 11); sinon =0

'

Dim VAR As Integer

'

Range("A3:AL8900").Select

Selection.AutoFilter

ActiveWorkbook.Worksheets("1 - Récupération DE").AutoFilter.Sort.SortFields. _

Clear

ActiveWorkbook.Worksheets("1 - Récupération DE").AutoFilter.Sort.SortFields. _

Add Key:=Range("K3:K8900"), SortOn:=xlSortOnValues, Order:=xlDescending, _

DataOption:=xlSortNormal

With ActiveWorkbook.Worksheets("1 - Récupération DE").AutoFilter.Sort

.Header = xlYes

.MatchCase = False

.Orientation = xlTopToBottom

.SortMethod = xlPinYin

.Apply

End With

Range("J4").Value

For VAR = 4 To 2000

If Range(VAR, 10).Value = Range("J4").Value Then

Range(VAR, 36).Value = Range(VAR, 7).Value * Range(VAR, 8).Value

Else If Range(VAR, 10).Value <> Range("J4").Value Then

Range(VAR, 36).Value = 0

End If

End Sub

Bonsoir

En plus de cette macro, un fichier représentatif de ton fichier réel aurait été le bienvenu

Mais il n'est pas trop tard

Edit

En lisant un peu ta macro

[barrer]Range(VAR, 10).Value[/barrer]

A remplacer par

Cells(VAR,10).Value

Les autres dans le même style : Même punition

Bonjour Banzai64 !

Le hic c'est que mon fichier est vraiment trop lourd!

Merci pour la formule, ça marche!

par contre j'ai un message d'erreur car je n'ai pas déclaré le filtre.

" ActiveWorkbook.Worksheets("1 - Récupération DE").AutoFilter.Sort.SortFields. _

Clear "

--> erreur d'execution "91" : variable objet ou variable de bloc with non définie

Avez-vous une astuce?

Merci d'avance!

Cordialement

Flora

Bonsoir

Si ce sont des instructions spécifiques à 2007, c'est hors de mes connaissances

Un spécialiste va te répondre

Ne quittez pas on recherche votre correspondant

Bonjour à tous,

Ça ne marche pas car à chaque fois que tu lances ta macro, le filtre est soit activé soit désactivé.

Or lorsque celui-ci est désactivé, la ligne

ActiveWorkbook.Worksheets("1 - Récupération DE").AutoFilter.Sort.SortFields. _
Clear

ne marchera pas.

Change la ligne

Range("A3:AL8900").Select
Selection.AutoFilter

par

If Not Worksheets("1 - Récupération DE").AutoFilterMode Then Range("A3:AL8900").AutoFilter

(Le Select ici ne sert à rien)

Donc on détecte d'abord si le filtre auto est actif (If Not Worksheets("1 - Récupération DE").AutoFilterMode). S'il ne l'est pas, on filtre le champ A3:AL8900 (Range("A3:AL8900").AutoFilter)

De plus, ici, tu peux enlever tes ActiveWorkbook

Rechercher des sujets similaires à "erreur comparaison valeurs differentes"