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

Excel Discussion :

Excel vba : Erreur de compilation for sans next


Sujet :

Excel

  1. #1
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 944
    Points : 5 169
    Points
    5 169
    Par défaut Excel vba : Erreur de compilation for sans next
    Message erreur : Erreur de compilation for sans next ... merci d'avance pour votre aide
    merci encore au monsieur qui m'a aidé l'autre fois
    bonne journée
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    Private Sub CommandButton1_Click() 'bouton "Calculer"
    Dim CTRL As Control
    Dim B As Integer
    Dim I As Byte
     
    For Each CTRL In Me.Controls
        Select Case CTRL.Name
            Case "matiere", "navire", "num_vte", "client", "mois_vte", "Quantite"
                If CTRL.Value = "" Then
                    MsgBox "Veuillez renseigner le champ : " & Me.Controls("L" & CTRL.Name).Caption & " !"
                    CTRL.SetFocus
                    Exit Sub
                End If
        End Select
        Select Case Left(CTRL.Name, 5)
            Case "prest"
                If CTRL.Value = "" Then
                    MsgBox "Veuillez choisir la nature de la prestation."
                    CTRL.SetFocus
                    Exit Sub
                End If
            Case "fours"
                If CTRL.Value = "" And Me.Controls("prest" & Mid(CTRL.Name, 6)) <> "" Then
                    MsgBox "Veuillez choisir le fournisseur de la prestation."
                    CTRL.SetFocus
                    Exit Sub
                End If
            Case "m_est"
                If CTRL.Value = 0 And Me.Controls("prest" & Mid(CTRL.Name, 6)) <> "" Then
                    MsgBox "Veuillez saisir le montant estimé."
                    CTRL.SetFocus
                    Exit Sub
                End If
            Case "mnt_r"
                If CTRL.Value = "" And Me.Controls("prest" & Mid(CTRL.Name, 6)) <> "" Then
                    MsgBox "Veuillez saisir le montant réel."
                    CTRL.SetFocus
                    Exit Sub
                End If
        End Select
        Select Case Left(CTRL.Name, 3)
            Case "fre"
                If CTRL.Value = "" And Me.Controls("prest" & Mid(CTRL.Name, 4)) <> "" Then
                    MsgBox "Veuillez saisir le numéro de la facture."
                    CTRL.SetFocus
                    Exit Sub
                End If
            Case "cpt"
                If CTRL.Value = "" And Me.Controls("prest" & Mid(CTRL.Name, 4)) <> "" Then
                    MsgBox "Veuillez saisir le compte."
                    CTRL.SetFocus
                    Exit Sub
                End If
        End Select
    Next CTRL
     
    x = 0
    For Each CTRL In Me.Controls
    Select Case Left(CTRL.Name, 5)
        Case "mnt_r"
            x = x = ConvNum(CTRL.Value)
    End Select
     
    charges = x
    frais_tm = (x * (1 / Quantite))
     
    'Ecart de budget
    If matiere = "Fluorure d'Aluminium" Then
        B = 10 * Quantite
        ecart.Value = charges - B
    End If
    If matiere = "Anhydrite " Then
        B = 8 * Quantite
        ecart.Value = charges - B
    End If
    If matiere = "Spath Fluor" Then
        B = 8 * Quantite
        ecart.Value = charges - B
    End If
    If matiere = "Alumine hydratée" Then
        B = 8 * Quantite
        ecart.Value = charges - B
    End If
    If matiere = "Alumine calcinée" Then
        B = 10 * Quantite
        ecart.Value = charges - B
    End If
        If matiere = "Soufre" Then
        B = 12 * Quantite
        ecart.Value = charges - B
    End If
    charges.Value = Format(charges, "#,##0.000")
    frais_tm.Value = Format(frais_tm, "#,##0.000")
    Quantite.Value = Format(Quantite, "#,##0.000")
     
    For I = 1 To 12
        Me.Controls("m_est" & I) = Format(Me.Controls("m_est" & I), "#,##0.000")
        Me.Controls("mnt_r" & I) = Format(Me.Controls("mnt_r" & I), "#,##0.000")
    Next I
    ecart.Value = Format(ecart, "#,##0.000")
    mois_vte.Value = Format([mois_vte], "dd/mm/yy")
     
    End Sub
     
    Function ConvNum(n)
     
    If IsNumeric(x) Then
        If n <> "" Then
            ConvNum = CDbl(n)
        Else
            ConvNum = 0
        End If
    Else
        ConvNum = 0
    End If
    End Function

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Il te manque un next pour ton 2ème For Each CTRL In Me.Controls

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 944
    Points : 5 169
    Points
    5 169
    Par défaut
    merci bien et bonne journée

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

Discussions similaires

  1. Problème Erreur de compilation "For Sans Next"
    Par lesly94 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/07/2015, 09h12
  2. [XL-2007] Erreur de compilation wend sans while
    Par Loupire dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 26/01/2010, 09h21
  3. VBA: Erreur de Compilation
    Par csilas dans le forum VBA Access
    Réponses: 4
    Dernier message: 26/06/2008, 15h28
  4. [VBA] erreur de compilation
    Par bourguignon21 dans le forum VBA Access
    Réponses: 3
    Dernier message: 18/06/2007, 19h51
  5. EXCEL/ VBA Erreur sur le code VBA : rediriger l’erreur
    Par hiline6 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/12/2006, 16h28

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