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 :

Remise à zéro du formulaire


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2019
    Messages : 46
    Points : 13
    Points
    13
    Par défaut Remise à zéro du formulaire
    Bonjour à tous,
    Je rencontre actuellement un problème avec ma fonction RAZ fonctionnant très bien sur mon autre formulaire. Je n'arrive pas du tout à l'adapter pour qu'elle convienne à mon formulaire actuel et je rencontre plein d'erreurs.
    De base j'ai ça dans mon autre formulaire et cette fonction intervient dans mes boutons "Validation" pour vider le formulaire après avoir poussé les données dans le tableau et dans mon bouton "Ajout" vierge" pour vider le formulaire et démarrer la saisie d'un nouveau produit dans ma dernière ligne non occupée de tableau.

    'remise à zéro du formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub raz()
      For i = 2 To 7
         Me("TextBox" & i) = ""
      Next i
      For s = 1 To 8
        Me("Service" & s) = ""
        Me("accord" & s) = ""
        Me("visa" & s) = ""
      Next s
    End Sub
    Sauf que quand j'essaye de l'adapter à mon nouveau formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'remise à zéro du formulaire
    Sub raz()
      For i = 2 To 24
         Me("TextBox" & i) = ""
      Next i
      For s = 1 To 4
        Me("Risque" & s) = ""
        Me("Date" & s) = ""
        Me("Visa" & s) = ""
        Me("Com" & s) = ""
      Next s
    End Sub
    Et bien ca ne fonctionne pas. J'ai essayé en utilisant "Unload Me" et ça fonctionne uniquement pour le bouton "Validation" j'ai une erreur de Range Global Object pour le bouton "Ajout vierge".

    Ci-joint mon fichier de travail. Je ne comprends pas ce que je fais de mal dans le passage d'un formulaire à l'autre j'ai pourtant l'impression de bien respecter la syntaxe . Voila l'ensemble de mon code pour ceux ne voulant pas télécharger les PJ sur les forums :

    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
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    Option Compare Text
    Dim nomtableau
     
     
    'Initialisation du formulaire
    Private Sub UserForm_Initialize()
    nomtableau = "produit"
      Me.enreg = Range(nomtableau).Rows.Count + 1
      Me.Id = Application.Max(Range(nomtableau).Columns(1)) + 1
      Tbl = Range(nomtableau).Value
      Tri Tbl, LBound(Tbl), UBound(Tbl), 1
      Me.Recherche.List = Tbl
     
    ' remplissage des combobox avec le contenu des listes
         With Me
         .Criticité.List = [Tableau3].Value
          .Prodstrat.List = [Tableau4].Value
            .Detectionstep.List = [Tableau5].Value
              .Actionim.List = [Tableau6].Value
               .Retraitement.List = [Tableau7].Value
                .Risque1.List = [Tableau8].Value
                 .Risque2.List = [Tableau8].Value
                  .Risque3.List = [Tableau8].Value
                   .Risque4.List = [Tableau8].Value
          End With
     
      ' déprotection de la feuille "Produits" à éditer
      Sheets("Produits").Unprotect Password:="iknowvba"
    End Sub
    ' Apparition de nouveaux champs si "autre" est sélectionné
    Private Sub Retraitement_Change()
    TextBox18.Visible = Retraitement.ListIndex > 1
    TextBox19.Visible = Retraitement.ListIndex > 1
    TextBox20.Visible = Retraitement.ListIndex > 1
    Label39.Visible = Retraitement.ListIndex > 1
    Label40.Visible = Retraitement.ListIndex > 1
    Label41.Visible = Retraitement.ListIndex > 1
     
    End Sub
    ' Menu déroulant pour recherche produit
    Private Sub Recherche_Change()
      Me.enreg = Application.Match(Val(Me.Recherche), Range(nomtableau).Columns(1), 0)
      Me.Id = Me.Recherche
      For i = 2 To 3
        Me("TextBox" & i) = Range(nomtableau).Item(enreg, i)
      Next i
     
      Me.Textbox4 = Range(nomtableau).Item(enreg, 5)
      Me.Textbox5 = Range(nomtableau).Item(enreg, 6)
      Me.Textbox6 = Range(nomtableau).Item(enreg, 7)
      Me.Textbox7 = Range(nomtableau).Item(enreg, 8)
      Me.TextBox8 = Range(nomtableau).Item(enreg, 9)
      Me.TextBox9 = Range(nomtableau).Item(enreg, 10)
      Me.TextBox10 = Range(nomtableau).Item(enreg, 11)
      Me.TextBox11 = Range(nomtableau).Item(enreg, 4)
     
       '--- services
       For s = 1 To 4
        Me("Risque" & s) = Range(nomtableau).Item(enreg, 24 + (s - 1) * 3)
        Me("Date" & s) = Range(nomtableau).Item(enreg, 25 + (s - 1) * 3)
        Me("Visa" & s) = Range(nomtableau).Item(enreg, 26 + (s - 1) * 3)
       Next s
    End Sub
    'bouton valider
    Private Sub B_valid_Click()
      enreg = Me.enreg
      Range(nomtableau).Item(enreg, 1) = Val(Me.Id)
     
      ' On pousse les données du formulaire dans le tableau
      For i = 2 To 3
        Range(nomtableau).Item(enreg, i) = Me("TextBox" & i)
      Next i
      Range(nomtableau).Item(enreg, 4) = Me.TextBox11
      Range(nomtableau).Item(enreg, 5) = Me.Textbox4
      Range(nomtableau).Item(enreg, 6) = Me.Textbox5
      Range(nomtableau).Item(enreg, 7) = Me.Textbox6
      Range(nomtableau).Item(enreg, 8) = Me.Textbox7
      Range(nomtableau).Item(enreg, 9) = Me.TextBox8
      Range(nomtableau).Item(enreg, 10) = Me.TextBox9
      Range(nomtableau).Item(enreg, 11) = Me.TextBox10
      Range(nomtableau).Item(enreg, 12) = Me("criticité" & s)
      Range(nomtableau).Item(enreg, 13) = Me("Prodstrat" & s)
      Range(nomtableau).Item(enreg, 14) = Me("Detectionstep" & s)
      Range(nomtableau).Item(enreg, 15) = Me.TextBox12
      Range(nomtableau).Item(enreg, 16) = Me("Actionim" & s)
      Range(nomtableau).Item(enreg, 17) = Me.TextBox16
      Range(nomtableau).Item(enreg, 18) = Me("Retraitement" & s)
      Range(nomtableau).Item(enreg, 19) = Me.TextBox18
      Range(nomtableau).Item(enreg, 20) = Me.TextBox19
      Range(nomtableau).Item(enreg, 21) = Me.TextBox20
      Range(nomtableau).Item(enreg, 22) = Me.TextBox15
      Range(nomtableau).Item(enreg, 23) = Me.TextBox17
     
      For s = 1 To 4
         Range(nomtableau).Item(enreg, 24 + (s - 1) * 4) = Me("Risque" & s)
         Range(nomtableau).Item(enreg, 25 + (s - 1) * 4) = Me("Date" & s)
         Range(nomtableau).Item(enreg, 26 + (s - 1) * 4) = Me("Visa" & s)
         Range(nomtableau).Item(enreg, 27 + (s - 1) * 4) = Me("Com" & s)
     
       Next s
     
       ' Vide le formulaire après avoir mis les données dans le tableau
       Unload Me
       UserFormSaisie.Show
    End Sub
    ' bouton supprimer
    Private Sub B_sup_Click()
    ' protection du bouton supprimer par mdp
    Dim Mdp As String
    Mdp = Application.InputBox("Veuillez introduire votre mot de passe")
    If Mdp <> "iknowvba" Then MsgBox "Accès refusé !": Exit Sub
      If MsgBox("Etes vous sûr de supprimer " & Me.enreg & "?", vbYesNo) = vbYes Then
         Range(nomtableau).Rows(Me.enreg).Delete
         Me.Recherche.List = Range(nomtableau).Value
      End If
    End Sub
    ' bouton ajouter
    Private Sub B_ajout_Click()
      Unload Me
      Me.Id = Application.Max(Range(nomtableau).Columns(1)) + 1
      Me.enreg = Range(nomtableau).Rows.Count + 1
    End Sub
     
    Private Sub B_suivant_Click()
     If Me.Recherche.ListIndex < Me.Recherche.ListCount - 1 Then
       Me.Recherche.ListIndex = Me.Recherche.ListIndex + 1
      End If
    End Sub
    Private Sub b_précédent_Click()
      If Me.Recherche.ListIndex > 0 Then
        Me.Recherche.ListIndex = Me.Recherche.ListIndex - 1
      End If
    End Sub
    ' bouton quitter
    Private Sub b_quitter_Click()
    Unload Me
    ' Reprotection de la feuille "Produits" à éditer
    Sheets("Produits").Protect Password:="iknowvba"
    End Sub
    Sub Tri(a, gauc, droi, colTri) ' Quick sort
      ref = a((gauc + droi) \ 2, colTri)
      g = gauc: d = droi
      Do
        Do While a(g, colTri) < ref: g = g + 1: Loop
        Do While ref < a(d, colTri): d = d - 1: Loop
        If g <= d Then
           For c = LBound(a, 2) To UBound(a, 2)
              temp = a(g, c): a(g, c) = a(d, c): a(d, c) = temp
           Next
           g = g + 1: d = d - 1
         End If
       Loop While g <= d
       If g < droi Then Call Tri(a, g, droi, colTri)
       If gauc < d Then Call Tri(a, gauc, d, colTri)
    End Sub
    Je vous remercie par avance de l'aide que vous pourrez m'apporter.
    Cordialement,
    Erwan.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Points : 377
    Points
    377
    Par défaut
    Bonjour à tous,

    Pour utiliser un Control en variable, il faut plutôt écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Controls("Service" & s) = ""

  3. #3
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Points : 2 156
    Points
    2 156
    Par défaut
    Bonjour,

    Il y a aussi ceci pour remettre à zéro les champs d'un formulaire:


    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
    Sub raz()
      Dim c As Control
      For Each c In Me.Controls
        Select Case TypeName(c)
           Case "TextBox"
              c.Value = ""
           Case "CheckBox"
              c.Value = False
           Case "ComboBox"
              c.ListIndex = -1
           Case "Frame"
              For Each b In c.Controls
                If TypeName(b) = "OptionButton" Then b.Value = False
              Next b
           Case "ListBox"
              nom_control = c.Name
              For j = 0 To Me(nom_control).ListCount - 1: Me(nom_control).Selected(j) = False: Next j
         End Select
       Next c
    End Sub
    Boisgontier
    Fichiers attachés Fichiers attachés

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2019
    Messages : 46
    Points : 13
    Points
    13
    Par défaut
    Bonjour, merci à vous pour vos réponses.
    Ce que tu me donnes ici Jacques c'est un bout de code qui vide chacun des types d'objet cité ? Si je comprends la forme de ce code il n'y a aucune adaptation à faire puisqu'il fait référence à des catégories d'objet plutôt qu'à des dénominations précises ?
    Encore merci =D !
    Erwan

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2019
    Messages : 46
    Points : 13
    Points
    13
    Par défaut
    Quand je l'ajoute à mon code en rajoutant "raz" dans mes boutons validation et ajout vierge cela m'affiche une "erreur d’exécution '-2147352571(80020005)' : Impossible de définir la propriété Value. Le type ne correspond pas" au niveau de ma barrre de recherche des produits (ici en bleu dans le code). Cette erreur d'exécution disparaît lorsque que je retire la fonction raz

    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
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    Option Compare Text
    Dim nomtableau
    
    
    'Initialisation du formulaire
    Private Sub UserForm_Initialize()
    nomtableau = "produit"
      Me.enreg = Range(nomtableau).Rows.Count + 1
      Me.Id = Application.Max(Range(nomtableau).Columns(1)) + 1
      Tbl = Range(nomtableau).Value
      Tri Tbl, LBound(Tbl), UBound(Tbl), 1
      Me.Recherche.List = Tbl
         
    ' remplissage des combobox avec le contenu des listes
         With Me
         .Criticité.List = [Tableau3].Value
          .Prodstrat.List = [Tableau4].Value
            .Detectionstep.List = [Tableau5].Value
              .Actionim.List = [Tableau6].Value
               .Retraitement.List = [Tableau7].Value
                .Risque1.List = [Tableau8].Value
                 .Risque2.List = [Tableau8].Value
                  .Risque3.List = [Tableau8].Value
                   .Risque4.List = [Tableau8].Value
          End With
          
      ' déprotection de la feuille "Produits" à éditer
      Sheets("Produits").Unprotect Password:="iknowvba"
    End Sub
    ' Apparition de nouveaux champs si "autre" est sélectionné
    Private Sub Retraitement_Change()
    TextBox18.Visible = Retraitement.ListIndex > 1
    TextBox19.Visible = Retraitement.ListIndex > 1
    TextBox20.Visible = Retraitement.ListIndex > 1
    Label39.Visible = Retraitement.ListIndex > 1
    Label40.Visible = Retraitement.ListIndex > 1
    Label41.Visible = Retraitement.ListIndex > 1
    
    End Sub
    ' Menu déroulant pour recherche produit
    Private Sub Recherche_Change()
    Me.enreg = Application.Match(Val(Me.Recherche), Range(nomtableau).Columns(1), 0)
      Me.Id = Me.Recherche
      For i = 2 To 3
        Me("TextBox" & i) = Range(nomtableau).Item(enreg, i)
      Next i
      
      Me.Textbox4 = Range(nomtableau).Item(enreg, 5)
      Me.Textbox5 = Range(nomtableau).Item(enreg, 6)
      Me.Textbox6 = Range(nomtableau).Item(enreg, 7)
      Me.Textbox7 = Range(nomtableau).Item(enreg, 8)
      Me.TextBox8 = Range(nomtableau).Item(enreg, 9)
      Me.TextBox9 = Range(nomtableau).Item(enreg, 10)
      Me.TextBox10 = Range(nomtableau).Item(enreg, 11)
      Me.TextBox11 = Range(nomtableau).Item(enreg, 4)
      
       '--- services
       For s = 1 To 4
        Me("Risque" & s) = Range(nomtableau).Item(enreg, 24 + (s - 1) * 3)
        Me("Date" & s) = Range(nomtableau).Item(enreg, 25 + (s - 1) * 3)
        Me("Visa" & s) = Range(nomtableau).Item(enreg, 26 + (s - 1) * 3)
       Next s
    End Sub
    'bouton valider
    Private Sub B_valid_Click()
      enreg = Me.enreg
      Range(nomtableau).Item(enreg, 1) = Val(Me.Id)
      
      ' On pousse les données du formulaire dans le tableau
      For i = 2 To 3
        Range(nomtableau).Item(enreg, i) = Me("TextBox" & i)
      Next i
      Range(nomtableau).Item(enreg, 4) = Me.TextBox11
      Range(nomtableau).Item(enreg, 5) = Me.Textbox4
      Range(nomtableau).Item(enreg, 6) = Me.Textbox5
      Range(nomtableau).Item(enreg, 7) = Me.Textbox6
      Range(nomtableau).Item(enreg, 8) = Me.Textbox7
      Range(nomtableau).Item(enreg, 9) = Me.TextBox8
      Range(nomtableau).Item(enreg, 10) = Me.TextBox9
      Range(nomtableau).Item(enreg, 11) = Me.TextBox10
      Range(nomtableau).Item(enreg, 12) = Me("criticité" & s)
      Range(nomtableau).Item(enreg, 13) = Me("Prodstrat" & s)
      Range(nomtableau).Item(enreg, 14) = Me("Detectionstep" & s)
      Range(nomtableau).Item(enreg, 15) = Me.TextBox12
      Range(nomtableau).Item(enreg, 16) = Me("Actionim" & s)
      Range(nomtableau).Item(enreg, 17) = Me.TextBox16
      Range(nomtableau).Item(enreg, 18) = Me("Retraitement" & s)
      Range(nomtableau).Item(enreg, 19) = Me.TextBox18
      Range(nomtableau).Item(enreg, 20) = Me.TextBox19
      Range(nomtableau).Item(enreg, 21) = Me.TextBox20
      Range(nomtableau).Item(enreg, 22) = Me.TextBox15
      Range(nomtableau).Item(enreg, 23) = Me.TextBox17
      
      For s = 1 To 4
         Range(nomtableau).Item(enreg, 24 + (s - 1) * 4) = Me("Risque" & s)
         Range(nomtableau).Item(enreg, 25 + (s - 1) * 4) = Me("Date" & s)
         Range(nomtableau).Item(enreg, 26 + (s - 1) * 4) = Me("Visa" & s)
         Range(nomtableau).Item(enreg, 27 + (s - 1) * 4) = Me("Com" & s)
         
       Next s
       
       ' Vide le formulaire après avoir mis les données dans le tableau
        raz
    End Sub
    ' bouton supprimer
    Private Sub B_sup_Click()
    ' protection du bouton supprimer par mdp
    Dim Mdp As String
    Mdp = Application.InputBox("Veuillez introduire votre mot de passe")
    If Mdp <> "iknowvba" Then MsgBox "Accès refusé !": Exit Sub
      If MsgBox("Etes vous sûr de supprimer " & Me.enreg & "?", vbYesNo) = vbYes Then
         Range(nomtableau).Rows(Me.enreg).Delete
         Me.Recherche.List = Range(nomtableau).Value
      End If
    End Sub
    ' bouton ajouter
    Private Sub B_ajout_Click()
      raz
      Me.Id = Application.Max(Range(nomtableau).Columns(1)) + 1
      Me.enreg = Range(nomtableau).Rows.Count + 1
    End Sub
    
    Private Sub B_suivant_Click()
     If Me.Recherche.ListIndex < Me.Recherche.ListCount - 1 Then
       Me.Recherche.ListIndex = Me.Recherche.ListIndex + 1
      End If
    End Sub
    Private Sub b_précédent_Click()
      If Me.Recherche.ListIndex > 0 Then
        Me.Recherche.ListIndex = Me.Recherche.ListIndex - 1
      End If
    End Sub
    ' bouton quitter
    Private Sub b_quitter_Click()
    Unload Me
    ' Reprotection de la feuille "Produits" à éditer
    Sheets("Produits").Protect Password:="iknowvba"
    End Sub
    Sub raz()
      Dim c As Control
      For Each c In Me.Controls
        Select Case TypeName(c)
           Case "TextBox"
              c.Value = ""
           Case "CheckBox"
              c.Value = False
           Case "ComboBox"
              c.ListIndex = -1
           Case "Frame"
              For Each b In c.Controls
                If TypeName(b) = "OptionButton" Then b.Value = False
              Next b
           Case "ListBox"
              nom_control = c.Name
              For j = 0 To Me(nom_control).ListCount - 1: Me(nom_control).Selected(j) = False: Next j
         End Select
       Next c
    End Sub
    
    Sub Tri(a, gauc, droi, colTri) ' Quick sort
      ref = a((gauc + droi) \ 2, colTri)
      g = gauc: d = droi
      Do
        Do While a(g, colTri) < ref: g = g + 1: Loop
        Do While ref < a(d, colTri): d = d - 1: Loop
        If g <= d Then
           For c = LBound(a, 2) To UBound(a, 2)
              temp = a(g, c): a(g, c) = a(d, c): a(d, c) = temp
           Next
           g = g + 1: d = d - 1
         End If
       Loop While g <= d
       If g < droi Then Call Tri(a, g, droi, colTri)
       If gauc < d Then Call Tri(a, gauc, d, colTri)
    End Sub

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2019
    Messages : 46
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par boisgontierjacques Voir le message
    Bonjour,

    Il y a aussi ceci pour remettre à zéro les champs d'un formulaire:


    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
    Sub raz()
      Dim c As Control
      For Each c In Me.Controls
        Select Case TypeName(c)
           Case "TextBox"
              c.Value = ""
           Case "CheckBox"
              c.Value = False
           Case "ComboBox"
              c.ListIndex = -1
           Case "Frame"
              For Each b In c.Controls
                If TypeName(b) = "OptionButton" Then b.Value = False
              Next b
           Case "ListBox"
              nom_control = c.Name
              For j = 0 To Me(nom_control).ListCount - 1: Me(nom_control).Selected(j) = False: Next j
         End Select
       Next c
    End Sub
    Boisgontier
    Bonjour Jacques, je n'ai toujours pas réussi à me débloquer de là. Aurais-tu une piste ?
    Merci d'avance,
    Erwan.

Discussions similaires

  1. [AC-2010] Remise à zéro d'un sous-formulaire
    Par laurent_42 dans le forum IHM
    Réponses: 2
    Dernier message: 21/10/2013, 11h55
  2. [AC-2003] formulaire continu (remise à zéro)
    Par bibifoc121 dans le forum IHM
    Réponses: 2
    Dernier message: 13/07/2011, 09h09
  3. Remise à zéro de NuméroAuto
    Par Fougère dans le forum Access
    Réponses: 6
    Dernier message: 12/07/2006, 12h38
  4. Timer : remise à zéro
    Par hammag dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2006, 17h31
  5. Remise à zéro du fichier d'alerte <SID>ALERT.LOG
    Par pablo13 dans le forum Administration
    Réponses: 2
    Dernier message: 05/10/2004, 17h19

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