probleme de msgbox dans une boucle

probleme de msgbox dans une boucle - VB/VBA/VBS - Programmation

Marsh Posté le 10-04-2015 à 16:41:47    

Bonjour,
 
J'ai un petit probleme sur le code suivant
 
Quand il y a une erreur sur le vlookup le msgbox apparait plusieurs fois pour le meme range
 
Quelqu'un aurait une petite idée de l'erreur?
 
Merci d'avance
 

Code :
  1. Sub vlookup()
  2. Dim i As Integer
  3. Dim j As Integer
  4. Dim dernlign As Integer, dernlign2 As Integer
  5. dernlign = Sheets("x" ).Range("b" & Rows.Count).End(xlUp).Row
  6. dernlign2 = Sheets("y" ).Range("q" & Rows.Count).End(xlUp).Row
  7. Sheets("Extraction" ).Activate
  8. For i = 2 To dernlign
  9.    For j = i To dernlign2
  10.     Range("R" & j).Value = Application.vlookup(ThisWorkbook.Sheets("x" ).Range("b" & j), ThisWorkbook.Sheets("y" ).Range("L4:P" & dernlign), 1, False)
  11.  
  12.     If IsError(Range("R" & j)) Then
  13.        MsgBox "Attention la ligne " & Range("R" & j).Address(0, 0) & " n'est pas dans Split year 2015"
  14.      Range("R" & j).Interior.ColorIndex = 6
  15.     End If
  16.    Next
  17. Next
  18. End Sub


Message édité par izekiel06 le 14-04-2015 à 09:12:25
Reply

Marsh Posté le 10-04-2015 à 16:41:47   

Reply

Marsh Posté le 10-04-2015 à 20:03:43    

 
           Bonjour,
 
           en fait la ligne n° …  Ah zut, le code n'a pas été balisé !  Voir les règles du forum et il y a pourtant une icône dans l'éditeur …
 
           Il n'y a pas d'erreur si ce n'est un problème de conception :  si le message est dans une boucle,
           il s'affichera autant de fois que la condition est vraie !
 
           ________________________________________________________________________________________________________
           Je suis Charlie   -   Je suis Bardo
 

Reply

Marsh Posté le 13-04-2015 à 14:58:02    

Marc L a écrit :

 
           Bonjour,
 
           en fait la ligne n° …  Ah zut, le code n'a pas été balisé !  Voir les règles du forum et il y a pourtant une icône dans l'éditeur …
 
           Il n'y a pas d'erreur si ce n'est un problème de conception :  si le message est dans une boucle,
           il s'affichera autant de fois que la condition est vraie !
 
           ________________________________________________________________________________________________________
           Je suis Charlie   -   Je suis Bardo
 


 
Autant pour moi, j'ai édité le code.
 
Je me suis mal exprimé, effectivement le probleme vient de la conception du code ma question de base aurait du etre: quelqu'un pour m'aider a modifier mon code pour que le msgbox ne s'affiche que 1 fois par ligne detecter?
 
Merci d'avance

Reply

Marsh Posté le 13-04-2015 à 17:47:36    

 
           La ligne n° …  Et non, code toujours pas balisé comme il se doit, c'est pourtant expliqué dans les règles du forum
                                et il y a même une icône dédiée dans l'éditeur !    Exemple de code balisé
 
           Bref, soit l'instruction doit être située en dehors de la boucle soit sortir de la procédure après le message via Exit Sub
 

Reply

Marsh Posté le 14-04-2015 à 09:17:23    

Marc L a écrit :

 
           La ligne n° …  Et non, code toujours pas balisé comme il se doit, c'est pourtant expliqué dans les règles du forum
                                et il y a même une icône dédiée dans l'éditeur !    Exemple de code balisé
 
           Bref, soit l'instruction doit être située en dehors de la boucle soit sortir de la procédure après le message via Exit Sub
 


 
Merci ca marche trés bien!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed