Plusieurs scénarios dans une boucle if

  • Initiateur de la discussion Initiateur de la discussion savva
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

savva

Guest
Salut,
Je débute en excel, et je n'arrive pas bien à gérer ma boucle if.

Le code :

Sub Supprimer_RV()

ElseIf (Cells(3, ActiveCell.Column) + Cells(ActiveCell.Row, 1)) - Now < 3 And QuiNivo < 2 Then
If MsgBox("L'annulation de votre livraison 72h avant son arrivée entraine une pénalité de 100 Euros." & vbCrLf & vbCrLf & _
"Etes-vous sûr de vouloir supprimer cette livraison ?", _
vbExclamation + vbYesNo, "Suppression tardive") = vbNo Then
Exit Sub
End If

Maintenant, j'aimerais ajouter que si l'utilisateur répond "vbYes on exécute bien Supprimer _RV mais qu'un plus dans la cellule A3 on ajoute +1 au résultat déjà présent.

Vous l'aurez compris, il s'agit d'un compteur. Je voudrais savoir combien de fois un utilisateur a annuler au dernier moment.

Merci !
 
Re : Plusieurs scénarios dans une boucle if

Oui t'as raisons, mais il s'agit d'un extrait du code, il y a déjà une condition IF avant celle-ci et il y en a d'autre après, le end sub vient après :

Sub Supprimer_RV()


If blablablabl
Exit Sub

ElseIf blbalbalba
Exit Sub

ElseIf (Cells(3, ActiveCell.Column) + Cells(ActiveCell.Row, 1)) - Now < 3 And QuiNivo < 2 Then
If MsgBox("L'annulation de votre livraison 72h avant son arrivée entraine une pénalité de 100 Euros." & vbCrLf & vbCrLf & _
"Etes-vous sûr de vouloir supprimer cette livraison ?", _
vbExclamation + vbYesNo, "Suppression tardive") = vbNo Then
Exit Sub
End If

blabla

End Sub

Je pensais créer un variable compteur mais je ne sais pas l'integrer. Et je ne sais pas faire : Si .....= VbNo Alors et Si ...... = VbYs Alors execute supprimer_rv et ajoute +1 à la cellule ...
 
Re : Plusieurs scénarios dans une boucle if

bonjour Savsa, Pierrot🙂
Là Pierrot je vais suivre la discussion avec beaucoup d'intérêt car tu n'es pas au bout de tes peines vu la réponse que tu as eu courage!!!
Savsa, ta macro est confidentielle et le fichier aussi ????
a+
papou
 
Re : Plusieurs scénarios dans une boucle if

Bonjour,

lol veuillez m'excuser, je pensais pas que cela était important. Je reprends :

Mon code est le suivant :

Sub Supprimer_RV()

If Not IsNumeric(ActiveSheet.Name) Or _
ActiveCell.Value = "" Or _
Intersect(ActiveCell, Range("B4:H52")) Is Nothing Then
MsgBox "Il n'y a pas de rendez-vous à supprimer dans cette cellule.", _
vbInformation, "Pas de rendez-vous"
Exit Sub

ElseIf ActiveWorkbook.ReadOnly = True Then
MsgBox "Votre agenda est ouvert en lecture seule. Vous ne pouvez donc pas " & _
"supprimer un rendez-vous pour l'instant.", vbInformation, "Lecture seule"
Exit Sub


ElseIf (Cells(3, ActiveCell.Column) + Cells(ActiveCell.Row, 1)) - Now < 3 And QuiNivo < 2 Then
If MsgBox("L'annulation de votre livraison 72h avant son arrivée entraine une pénalité de 100 Euros." & vbCrLf & vbCrLf & _
"Etes-vous sûr de vouloir supprimer cette livraison ?", _
vbExclamation + vbYesNo, "Suppression tardive") = vbNo Then
Exit Sub
End If


End Sub

et je voudrais faire :


Sub Supprimer_RV()

If Not IsNumeric(ActiveSheet.Name) Or _
ActiveCell.Value = "" Or _
Intersect(ActiveCell, Range("B4:H52")) Is Nothing Then
MsgBox "Il n'y a pas de rendez-vous à supprimer dans cette cellule.", _
vbInformation, "Pas de rendez-vous"
Exit Sub

ElseIf ActiveWorkbook.ReadOnly = True Then
MsgBox "Votre agenda est ouvert en lecture seule. Vous ne pouvez donc pas " & _
"supprimer un rendez-vous pour l'instant.", vbInformation, "Lecture seule"
Exit Sub


ElseIf (Cells(3, ActiveCell.Column) + Cells(ActiveCell.Row, 1)) - Now < 3 And QuiNivo < 2 Then
If MsgBox("L'annulation de votre livraison 72h avant son arrivée entraine une pénalité de 100 Euros." & vbCrLf & vbCrLf & _
"Etes-vous sûr de vouloir supprimer cette livraison ?", _
vbExclamation + vbYesNo, "Suppression tardive") = vbNo Then
Exit Sub

And If MsgBox("L'annulation de votre livraison 72h avant son arrivée entraine une pénalité de 100 Euros." & vbCrLf & vbCrLf & _
"Etes-vous sûr de vouloir supprimer cette livraison ?", _
vbExclamation + vbYesNo, "Suppression tardive") = vbYes Then

On supprime le rendez vous par contre on ajoute +1 dans la celulle A3

End If


End Sub


Désolé pour mes messages peu clair. Quand le nez dans son programme, on ne pense pas que ce que l'on peu écrire peut être incompréhensible...

Merci
 
Re : Plusieurs scénarios dans une boucle if

Re bonjour Savsa, le forum
Il semble que tu ais la tête un peu dur, mais bon je vais te faire un essai ci-dessous mais si cela ne marche pas ne le dis surtout pas car autrement je vais te traiter de ...
voilà en partant du bout de macro sans fichier!!!!
a+
papou🙂

VB:
Sub Supprimer_RV()
    If Not IsNumeric(ActiveSheet.Name) Or _
       ActiveCell.Value = "" Or _
       Intersect(ActiveCell, Range("B4:H52")) Is Nothing Then
        MsgBox "Il n'y a pas de rendez-vous à supprimer dans cette cellule.", _
               vbInformation, "Pas de rendez-vous"
        Exit Sub
    ElseIf ActiveWorkbook.ReadOnly = True Then
        MsgBox "Votre agenda est ouvert en lecture seule. Vous ne pouvez donc pas " & _
               "supprimer un rendez-vous pour l'instant.", vbInformation, "Lecture seule"
        Exit Sub
    ElseIf (Cells(3, ActiveCell.Column) + Cells(ActiveCell.Row, 1)) - Now < 3 And QuiNivo < 2 Then
        If MsgBox("L'annulation de votre livraison 72h avant son arrivée entraine une pénalité de 100 Euros." & vbCrLf & vbCrLf & _
                  "Etes-vous sûr de vouloir supprimer cette livraison ?", _
                  vbExclamation + vbYesNo, "Suppression tardive") = vbNo Then Exit Sub

        If MsgBox("L'annulation de votre livraison 72h avant son arrivée entraine une pénalité de 100 Euros." & vbCrLf & vbCrLf & _
                  "Etes-vous sûr de vouloir supprimer cette livraison ?", _
                  vbExclamation + vbYesNo, "Suppression tardive") = vbYes Then ActiveCell = "": Range("A3") = Range("A3") + 1
    End If
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
798
A
  • Question Question
Réponses
1
Affichages
605
K
Réponses
2
Affichages
12 K
KheopS75
K
J
Réponses
1
Affichages
1 K
jebbayou
J
B
Réponses
3
Affichages
2 K
B
Y
Réponses
12
Affichages
1 K
yannoch
Y
Retour