IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Comment remplacer Goto


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Ingénieur génie industriel
    Inscrit en
    Novembre 2016
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur génie industriel

    Informations forums :
    Inscription : Novembre 2016
    Messages : 88
    Points : 42
    Points
    42
    Par défaut Comment remplacer Goto
    Bonjour tout le monden

    Ci dessous ma partie de code que j'ai crée avec GoTo qui apparement est sujet à bug, sauriez-vous comment s'en passer dans cette situation ?

    C'est un userform qui s'affiche lorsque l'on selectionne la cellule et qui permet d'en remplir 5 sur la même ligne avec plusieurs conditions

    Merci d'avance !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    Private Sub CommandButton1_Click()
    Dim derl%
    Dim Continuer As Integer
    derl = Worksheets("Data").Cells(Rows.Count, 1).End(xlUp).Row
     
    If DTPicker1 <> "" And ComboBox4.Value <> "" And ComboBox5.Value <> "" Then
        If Weekday(CDate(DTPicker1), 2) <> 7 And Weekday(CDate(DTPicker2), 2) <> 7 Then
            If CDate(DTPicker1) > Now() Then
                If DateDiff("d", Now(), CDate(DTPicker1)) > 10 Then
    Jump:           For Each cell1 In Worksheets("data").Range("C2:C" & derl)
                    If Cells(ActiveCell.Row, 3).Value > cell1.Value And cell1.Offset(0, 6).Value = "" And _
                    (cell1.Offset(0, 5).Value <> "" Or cell1.Offset(0, 6).Value <> "" Or cell1.Offset(0, 7).Value <> "") Then
                    MsgBox ("Vous n'avez pas convoqué pour des opérations précédentes ")
                    End If
                    Exit For
                    Next
     
                    Cells(ActiveCell.Row, 11) = CDate(DTPicker1)
                    Cells(ActiveCell.Row, 12) = CDate(Format(ComboBox4, "00") & ":" & Format(ComboBox5, "00"))
                    Cells(ActiveCell.Row, 13) = CDate(DTPicker2)
     
                    If Weekday(CDate(DTPicker2), 2) = 5 Then
                    Cells(ActiveCell.Row, 14) = "12:00"
                    Else
                    Cells(ActiveCell.Row, 14) = ""
                    End If
     
                    If DTPicker1 <> "" And Cells(ActiveCell.Row, 16).Value <> "Envoyé" Then
                    Cells(ActiveCell.Row, 16).Value = "Programmé"
                    End If
     
                    If Cells(ActiveCell.Row, 11).Value <> "" And DTPicker1 <> "" And Cells(ActiveCell.Row, 16).Value = "Envoyé" Then
                    Cells(ActiveCell.Row, 16).Value = "Reprogrammé"
                    End If
                    Unload Me
     
                Else
                Continuer = MsgBox("Date de convocation < 10j, valider la convocation?", vbYesNo + vbExclamation + vbDefaultButton2)
                    If Continuer = vbYes Then
                    GoTo Jump
                    End If
                End If
            Else
            MsgBox ("Vous ne pouvez pas convoquer à une date inférieure à la date du jour")
            End If
        Else
        MsgBox ("Vous ne pouvez pas convoquer un dimanche")
        End If
    Else
    MsgBox ("Veuillez remplir les champs - Début -")
    End If
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test()Dim Fin As Boolean
    Do While Fin = False
    If MsgBox("Date de convocation < 10j, valider la convocation?", vbYesNo + vbExclamation + vbDefaultButton2) = vbNo Then Exit Do
    Loop
    End Sub
    Dernière modification par Invité ; 21/02/2017 à 14h49.

  3. #3
    Membre du Club
    Femme Profil pro
    Ingénieur génie industriel
    Inscrit en
    Novembre 2016
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur génie industriel

    Informations forums :
    Inscription : Novembre 2016
    Messages : 88
    Points : 42
    Points
    42
    Par défaut
    Merci beaucoup je teste ça demain !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Comment remplacer un "Goto"
    Par Jah73 dans le forum VB.NET
    Réponses: 2
    Dernier message: 07/11/2012, 08h42
  2. Comment remplacer trop de "if" ?
    Par Clad3 dans le forum C++
    Réponses: 14
    Dernier message: 28/03/2005, 20h08
  3. Réponses: 5
    Dernier message: 25/01/2005, 14h26
  4. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo