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 :

REMPLACER TEXTBOX PAR CHECKBOX


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Par défaut REMPLACER TEXTBOX PAR CHECKBOX
    Bonjour les amis,

    Je travaille en ce moment sur une boite de dialogue et je bloque au niveau des textbox et checkbox, je souhaiterai remplacer les textbox qui figure dans la zone remplacer :

    en faite je préfère un simple clic au lieu d'écrire un X dans un textbox.

    Et bien entendu qu'il y est une mise à jour dans la base de donnée global avec un X pour dire que cette tâche à été effectué.

    Et pour finir, si les trois tâches (signature, pièce identité et justificatif) sont cochés, cochés automatique CLOTURE.

    Merci par avance pour cette aide

    A très vite
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Par défaut Compliqué
    Visiblement ça doit être compliqué à mettre en place, je vais essayer de trouver une autre solution plus simple

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Citation Envoyé par miloud54000 Voir le message
    Visiblement ça doit être compliqué à mettre en place, je vais essayer de trouver une autre solution plus simple
    tu as "visiblement" des difficultés à :
    - appliquer (et en comprendre les raisons) ceci :
    https://www.developpez.net/forums/d8...s-discussions/
    - exposer techniquement, clairement et avec précision les tenants et aboutissants, accompagnés du code tenté.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Par défaut
    Oups je ne savais pas qu'il ne fallait pas envoyé de fichier directement

    Pour résumer, je travail en ce moment sur un fichier qui permet de gérer les signatures, il y a donc une boite de dialogue dans lequel il est une listebox des textbox et des checkbox. C'est une application que j'ai télécharger sur internet et que j'essaye d'adapter tant bien que mal à mon propre usage. je vais mettre le code ci-dessous en espérant que quelqu'un pourra m'aider à le finaliser.

    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
    Option Compare Text
    Dim f, BD_GLOBAL(), choix(), Rng, Ncol
     
    Private Sub CommandButton1_Click()
     
     If MsgBox("Etes vous sûr de suppimer " & f.Cells(Enreg, 1) & "?", vbYesNo) = vbYes Then
       Enreg = Me.Enreg
       f.Cells(Enreg, 1).Resize(, Ncol).Delete Shift:=xlUp
       raz
       Me.Enreg = ""
       UserForm_Initialize
     End If
     
    End Sub
    Private Sub UserForm_Initialize()
       Set f = Sheets("BD_GLOBAL")
       Set Rng = f.Range("A2:M" & f.[A65000].End(xlUp).Row)
       BD_GLOBAL = Rng.Value
       Ncol = Rng.Columns.Count
       Set d1 = CreateObject("Scripting.Dictionary")
       Set d2 = CreateObject("Scripting.Dictionary")
       Set d3 = CreateObject("Scripting.Dictionary")
       d1.CompareMode = vbTextCompare
       d2.CompareMode = vbTextCompare
       d3.CompareMode = vbTextCompare
       For i = LBound(BD_GLOBAL) To UBound(BD_GLOBAL)
        If Not d1.exists(BD_GLOBAL(i, 1)) Then d1(BD_GLOBAL(i, 1)) = ""
        If Not d2.exists(BD_GLOBAL(i, 4)) Then d2(BD_GLOBAL(i, 4)) = ""
        If Not d3.exists(BD_GLOBAL(i, 8)) Then d3(BD_GLOBAL(i, 8)) = ""
       Next i
       '--avec tri
       temp = d1.keys
       Call Tri(temp, LBound(temp), UBound(temp))
       Me.ComboBox1.List = temp
       temp = d2.keys
       Call Tri(temp, LBound(temp), UBound(temp))
       Me.ComboBox2.List = temp
       temp = d3.keys
       Call Tri(temp, LBound(temp), UBound(temp))
       Me.ComboBox3.List = temp
       Me.ListBox1.Clear
       Me.ComboBox1.ListIndex = -1
       Me.ComboBox2.ListIndex = -1
       Me.Enreg = f.[A65000].End(xlUp).Row + 1
    End Sub
    Private Sub ComboBox1_click()
      Me.ListBox1.Clear
      For k = 1 To Ncol: Me("textBox" & k) = "": Next k
      j = 0
      n = Application.CountIf(Application.Index(Rng, , 1), Me.ComboBox1)
      Dim b()
      ReDim b(1 To n, 1 To Ncol + 1)
      For i = LBound(BD_GLOBAL) To UBound(BD_GLOBAL)
        If Me.ComboBox1 = BD_GLOBAL(i, 1) Then
          j = j + 1
          For k = 1 To Ncol
            b(j, k) = BD_GLOBAL(i, k)
            If k >= 3 And k <= 5 Then b(j, k) = Format(BD_GLOBAL(i, k), "00 00 00 00 00")
          Next k
          b(j, k) = i
        End If
       Next i
       ListBox1.List = b
       ListBox1.ListIndex = 0
    End Sub
    Private Sub ComboBox2_click()
      Me.ListBox1.Clear
      For k = 1 To Ncol: Me("textBox" & k) = "": Next k
      j = 0
      n = Application.CountIf(Application.Index(Rng, , 4), Me.ComboBox2)
      Dim b()
      ReDim b(1 To n, 1 To Ncol + 1)
      For i = LBound(BD_GLOBAL) To UBound(BD_GLOBAL)
        If Me.ComboBox2 = BD_GLOBAL(i, 4) Then
          j = j + 1
          For k = 1 To Ncol
            b(j, k) = BD_GLOBAL(i, k)
            If k >= 3 And k <= 5 Then b(j, k) = Format(BD_GLOBAL(i, k), "00 00 00 00 00")
          Next k
          b(j, k) = i
        End If
       Next i
       ListBox1.List = b
       ListBox1.ListIndex = 0
    End Sub
     
    Private Sub ComboBox3_click()
      Me.ListBox1.Clear
      For k = 1 To Ncol: Me("textBox" & k) = "": Next k
      j = 0
      n = Application.CountIf(Application.Index(Rng, , 8), Me.ComboBox3)
      Dim b()
      ReDim b(1 To n, 1 To Ncol + 1)
      For i = LBound(BD_GLOBAL) To UBound(BD_GLOBAL)
        If Me.ComboBox3 = BD_GLOBAL(i, 8) Then
          j = j + 1
          For k = 1 To Ncol
            b(j, k) = BD_GLOBAL(i, k)
            If k >= 3 And k <= 5 Then b(j, k) = Format(BD_GLOBAL(i, k), "00 00 00 00 00")
          Next k
          b(j, k) = i
        End If
       Next i
       ListBox1.List = b
       ListBox1.ListIndex = 0
    End Sub
    Private Sub ListBox1_Click()
        For k = 1 To Ncol
          Me("textBox" & k) = Me.ListBox1.Column(k - 1)
        Next k
        Me.Enreg = Me.ListBox1.Column(Ncol) + Rng.Row - 1
    End Sub
    Private Sub b_modif_Click()
        If Me.Enreg <> "" And Me.TextBox1 <> "" Then
          NoEnreg = Me.Enreg
          For k = 1 To Ncol
            x = Replace(Me("textBox" & k), " ", "")
             If IsNumeric(x) Then
               f.Cells(NoEnreg, k) = Val(x)
             Else
               f.Cells(NoEnreg, k) = Me("textBox" & k)
             End If
          Next k
          raz
          Me.Enreg = ""
          UserForm_Initialize
        End If
    End Sub
    Private Sub b_ajout_Click()
      raz
      Me.Enreg = f.[A65000].End(xlUp).Row + 1
    End Sub
    Sub raz()
        For k = 1 To Ncol
          Me("textBox" & k) = ""
        Next k
        Me.TextBox1.SetFocus
        Me.CheckBox1.SetFocus
    End Sub
    Sub Tri(a, gauc, droi) ' Quick sort
      ref = a((gauc + droi) \ 2)
      g = gauc: d = droi
      Do
         Do While a(g) < ref: g = g + 1: Loop
         Do While ref < a(d): d = d - 1: Loop
         If g <= d Then
            temp = a(g): a(g) = a(d): a(d) = temp
            g = g + 1: d = d - 1
         End If
       Loop While g <= d
       If g < droi Then Call Tri(a, g, droi)
       If gauc < d Then Call Tri(a, gauc, d)
    End Sub

Discussions similaires

  1. [XL-2013] remplacer un textbox par un combobox
    Par ecolefrancois dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/01/2014, 12h54
  2. [AC-2003] Remplacer plusieurs textbox par un label et une seule textbox
    Par buzz73 dans le forum IHM
    Réponses: 2
    Dernier message: 21/12/2009, 12h35
  3. [MySQL] Remplacer liste deroulante par checkbox
    Par stefanelle dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/07/2009, 09h26
  4. [DATAGRIDVIEW] Remplacer valeur "1 - 0" par checkbox
    Par GarsDuCalvados dans le forum VB.NET
    Réponses: 1
    Dernier message: 20/04/2009, 11h12
  5. Remplacer textbox par richtextbox
    Par starkson dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/06/2007, 10h27

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