Re : vba excel problème pour une boucle
'ENTRER MOT DE PASSE ET IDENTIFIANT SI ANCIEN CLIENT
Sub deja_client()
i = 0
Dim vrai As Boolean
vrai = False
Reponse = MsgBox("Êtes-vous déjà client dans notre société ?", vbYesNo)
If Reponse = 6 Then
ligne = 10
Rep = InputBox(" Entrer votre identifiant")
Rep2 = InputBox("Entrer votre mot de passe")
While Sheets("Clients").Cells(ligne, 3) <> 0 And Sheets("Clients").Cells(ligne, 10) <> 0 ' Cette boucle Permet de rechercher l'identifiant de l'ancien client et copier la ligne correspondante avant l'insérer dans la 1ère ligne de la table Clients
cel = Sheets("Clients").Cells(ligne, 3)
cel2 = Sheets("Clients").Cells(ligne, 10)
If Rep = Sheets("Clients").Cells(ligne, 3) And Rep2 = Sheets("Clients").Cells(ligne, 10) And vrai = False Then
Sheets("Clients").Select 'Insérer une ligne dans la table client
Range("C10:L10").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
For j = 3 To 10
cel3 = Worksheets("Clients").Cells(i + ligne, j).Value
Worksheets("Clients").Cells(10, j).Value = Worksheets("Clients").Cells(i + ligne + 1, j).Value
Next
vrai = True
Else
End If
ligne = ligne + 1
Wend
i = 11
cell = Worksheets("Clients").Cells(i, 3).Value ' Permet de rechercher la ligne que l'on a copié ci-dessus avant de la supprimer pour éviter les doublons
While Worksheets("Clients").Cells(i, 3).Value <> ""
cell = Worksheets("Clients").Cells(i, 3).Value
If Rep = Worksheets("Clients").Cells(i, 3).Value Then
For j = 3 To 10
Worksheets("Clients").Cells(i, j).Select
Selection.Delete Shift:=xlUp
Next
End If
i = i + 1
Wend
If Rep = "" Then Exit Sub 'La ligne suivante place la valeur saisie dans la cellule identifiant de la feuille active
Range("identifiant").Value = Rep
Sheets("Commande").Select
Else
Sheets("Clients").Select 'Insérer une ligne dans la table client avant d'ouvrir l'userform Nouveau client à partir de l'espace client
Range("C10:L10").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Espace_clients").Select
nouveau_client.Show
End If
End Sub
Voici ce que j'ai mis alors la sa fonctionne mais j'ai un autre souci c'est que je veux que lorsque le client a mis un mauvais identifiant et un mauvais mot de passe qu'il reste sur la page Espace_client parce qu'avec cette boucle mm si sa ne bouge plus ma table client ben il a quand mm accès à la Commande !!
Merci d'avance