Boucle while
siamens_duj
Messages postés
192
Date d'inscription
Statut
Membre
Dernière intervention
-
Gyrus Messages postés 3334 Date d'inscription Statut Membre Dernière intervention -
Gyrus Messages postés 3334 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit soucis avec une boucle While.
J'ai fais un code qui, quand la condition est fausse il doit afficher un message d'erreur.
Le problème c'est que actuellement il affiche le message d'erreur même quand la condition est vraie !
Je ne comprend pas pourquoi, j'ai inversé le code, mis un For i = 5 to 200, mis un i = 5 au dessus du while, mis un i = i + 1 en dessous du MsgBox. Je ne sais plus quoi faire, si quelqu'un pouvait m'aider svp.
Je vous met mon code :
Merci
J'ai un petit soucis avec une boucle While.
J'ai fais un code qui, quand la condition est fausse il doit afficher un message d'erreur.
Le problème c'est que actuellement il affiche le message d'erreur même quand la condition est vraie !
Je ne comprend pas pourquoi, j'ai inversé le code, mis un For i = 5 to 200, mis un i = 5 au dessus du while, mis un i = i + 1 en dessous du MsgBox. Je ne sais plus quoi faire, si quelqu'un pouvait m'aider svp.
Je vous met mon code :
Reference = InputBox("Saisie de la référence de la pièce : ", Recherche)
Do While i < 200
If Reference <> Cells(i, 4).Value Then
MsgBox "Cette référence n'existe pas"
Else
Cells(i, 4).EntireRow.Interior.Color = RGB(174, 240, 194)
Set obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
Link:=False, DisplayAsIcon:=False, Left:=2, Top:=40, Width:=72, Height:=24)
obj.Name = "BoutonTest"
'Le texte de la macro
Code = "Sub BoutonTest_Click()" & vbCrLf
Code = Code & "Call Tester" & vbCrLf
Code = Code & "End Sub"
'Ajoute la macro en fin de module feuille
With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule
.insertlines .CountOfLines + 1, Code
End With
End If
Loop
End Sub
Merci
1 réponse
Bonjour,
Tu peux faire cet essai :
A+
Tu peux faire cet essai :
Sub Test()
Dim C As Range
Dim Reference As String
Reference = InputBox("Saisie de la référence de la pièce : ", Recherche)
If Reference <> "" Then
Set C = Columns(4).Find(Reference, , xlValues, xlWhole)
If C Is Nothing Then
MsgBox "La référence " & Reference & " n'existe pas"
Exit Sub
Else
MsgBox "La référence " & Reference & " existe." & Chr(10) & "On continue !"
End If
End If
End Sub
A+