Se connecter avec
S'enregistrer | Connectez-vous

probleme VBA boucle IF

Dernière réponse : dans Programmation

salut !!
alors j'ai fait un petit programme, mais il ne me fait pas ce que je veux !!

  1. Sub calcule()
  2. Dim i, j As Integer
  3.  
  4.  
  5. For i = 7 To 24
  6. For j = 6 To 23
  7.  
  8. if Cells(i, j).Offset(-1, 0).Interior.ColorIndex = 2 And Cells(i,
  9. j).Offset(-1, 1).Interior.ColorIndex = 2 And Cells(i, j).Offset(0,
  10. 1).Interior.ColorIndex = 2 And Cells(i, j).Offset(1, 1).interior.ColorIndex = 2
  11. And Cells(i, j).Offset(1, 0).Interior.ColorIndex = 2 And Cells(i,
  12. j).Offset(1, -1).Interior.ColorIndex = 2 And Cells(i, j).Offset(0,
  13. -1).Interior.ColorIndex = 2 And Cells(i, j).Offset(-1, -1).Interior.ColorIndex =
  14. 2
  15.  
  16. Cells(i, j).Value = 9
  17.  
  18. else cells(i,j)=13
  19.  
  20. endif
  21.  
  22. Next j
  23. Next i
  24.  
  25. End Sub

il ne m'affiche jamais la valeur 9. quoi que je fasse c'est toujours 13.
j'ai beau regardé ce qu'il n'allait pas, mais la je vois pas, ça doit etre un truc tout bete mais qui m'echappe.
Merci de votre aide.

Autres pages sur : probleme vba boucle

Lassé par la pub ? Créez un compte

Salut, Emma13

Si je comprends bien, tu cherches à afficher 9 dans les cellules entourées seulement de cellules dont la couleur de fond est la deuxième de la palette et 13 dans les autres.
Je pense que le problème vient du fait que, dans la palette par défaut, la deuxième couleur est le blanc, ce qui peut aisément être confondu avec "pas de couleur" (ou index 0).
En dehors de cela, il manque "then" à la fin de ta condition et c'est parfait ;) !

Bonne continuation
Lassé par la pub ? Créez un compte
Tom's guide dans le monde