désigne la cellule à gauche de la cellule a. Si a est dans la 1ière colonne (colonne A), a.offset(0,-1), me semble-t il, provoquera une erreur.
Sinon essayez ce code:
Code:
Sub Test()
Dim MsgOUI, a As Range
MsgOUI = 0
For Each a In Range("a6:a20")
If a < a.Offset(0, -1) Then ' à vérifier
MsgOUI = MsgBox("Bla blaa blaaa")
End If
Next a
If MsgOUI = 0 Then Sheets("XX").Activate
End Sub
Même remarque que Mapomme : a.offset(0,-1) va forcément renvoyer une erreur. Que veux tu faire exactement ?
For Each a In Range("a6:a20")
If a < a.Offset(0, 1) Then
MsgBox ("Bla blaa blaaa")
else
worksheets("feuiltruc").range("A1")= "ce que tu veux"
End If
Next a
Bonjour, j'utilise a.offset(0,-1) pour contrôler si la cellule a est bien supérieur a celle de gauche( heures), pour le moment la macro fonctionne je test vos propositions de suite..
Merci
Pour faire plus simple si vous avez une meilleur macro voici ce que je souhaite en détail :
J'ai plusieurs plage de 10 cellules verticale, je souhaite contrôler a chaque fois que la données numériques est supérieur a celle qui se situe a sa gauche dans un onglet ZZ
Si tout est ok, allez dans un autre onglet XX
A chaque fois que ce l'est pas ok, msgbox " problem" et on reste sur l'onglet ZZ
Dans ce cas, pourrais-tu nous joindre le fichier car il y a quelque chose qui m'échappe?
Edit:
Pour faire plus simple si vous avez une meilleur macro voici ce que je souhaite en détail :
J'ai plusieurs plage de 10 cellules verticale, je souhaite contrôler a chaque fois que la données numériques est supérieur a celle qui se situe a sa gauche dans un onglet ZZ
Si tout est ok, allez dans un autre onglet XX
A chaque fois que ce l'est pas ok, msgbox " problem" et on reste sur l'onglet ZZ