Se connecter / S'enregistrer
Votre question

probleme VBA boucle IF

Tags :
  • Next
  • Programmation
Dernière réponse : dans Programmation
18 Janvier 2008 21:16:37

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

a b L Programmation
19 Janvier 2008 12:08:01

Il suffit qu'une des conditions ne soit pas respectée pour que ça affiche 13.
Enlève les conditions les unes après les autres pour savoir quelle est celle qui pose problème.
19 Janvier 2008 13:28:56

# Cells(i, j).Value = 9
#
# else cells(i,j)=13

Manque peut etre aussi un attribut Value aussi dans la deuxieme ligne ou il est trop dans la premiere
22 Janvier 2008 12:29:53

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
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS