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 :

Modifier une ligne avec des textbox et combobox [XL-2013]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Mai 2018
    Messages : 9
    Par défaut Modifier une ligne avec des textbox et combobox
    Bonjour à tous,

    Tout d'abord enchanté de vous rencontrer, il s'agit de mon premier message sur ce forum .

    Je suis désolé de vous déranger, j'aurai aimé résoudre le problème par moi même mais étant très débutant en VBA je suis complètement perdu.
    Actuellement en stage dans un hôpital (oui, je ne suis pas informaticien^^) , on m'as demander de faire un fichier globale pour le service qui prendrait toute les études dont nous somme le promoteur.
    On a réaliser une première base de donnée, mais on aurait aimer facilité l'ajout d’études (la macro est déjà fonctionnelle) mais aussi un bouton modifier (Rien n'est fonctionnelle) comme ça on peut verrouiller la base de donnée et ils ne peuvent rien supprimé (uniquement le pharmacien aura les codes).

    Nous avons trouvé un code pour le bouton modifier mais il n'utilisait que des textbox, mais à certain emplacement nous aimerions ajouter des combobox.

    Seul problème, text box et combobox ne se suivent pas dans l'ordre, du coup je ne sais comment faire pour modifier la ligne via textbox et combobox.

    Voici le bout de code et je vous laisse le fichier excel en pièce jointe pour voir a quoi ça ressemblerai :

    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
    Option Explicit
     
    Dim Ws As Worksheet
     
     
    Private Sub ComboBox1_Change()
    ' Nom fournisseur
    Dim Ligne As Long
    Dim I As Integer
     
      If Me.ComboBox1.ListIndex = -1 Then Exit Sub
      Ligne = Me.ComboBox1.ListIndex + 2
      For I = 1 To 17
        Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1)
      Next I
     
    End Sub
     
    Private Sub ComboBox8_Change()
     
    End Sub
     
    Private Sub CommandButton1_Click()
    ' Valider
    Dim Ligne As Long
    Dim I As Integer
     
    Dim myPassword As String
    myPassword = "Lise1234"
    ThisWorkbook.Sheets("études").Unprotect Password:=myPassword
     
    If MsgBox("Etes-vous certain de vouloir MODIFIER cette étude ?", vbYesNo, "Demande de confirmation") = vbYes Then 'condition : si oui au message
      If Me.ComboBox1.ListIndex = -1 Then Exit Sub
      Ligne = Me.ComboBox1.ListIndex + 2
      For I = 1 To 17
        If Me.Controls("TextBox" & I).Visible = True Then
          Ws.Cells(Ligne, I + 1) = Me.Controls("TextBox" & I)
        End If
      Next I
      MsgBox ("Etude modifiée") 'Vous informant que le présent contact est insérer dans votre tableau Excel.
    Unload Me ' Vide et ferme l'Userform ( formulaire)
    ThisWorkbook.Sheets("études").Protect Password:=myPassword
    End If
    End Sub
     
     
    Private Sub CommandButton2_Click()
      Unload Mod_Fournisseur
    End Sub
     
    Private Sub Label1_Click()
     
    End Sub
     
    Private Sub TextBox1_Change()
     
    End Sub
     
    Private Sub TextBox7_Change()
     
    End Sub
     
    Private Sub UserForm_Initialize()
    Dim J As Long
    Dim I As Integer
     
      Set Ws = Sheets("études")
     
      With Me.ComboBox1
        For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
          .AddItem Ws.Range("A" & J)
        Next J
      End With
     
      For I = 1 To 17
        Me.Controls("TextBox" & I).Visible = False
        ReDim Preserve kase(I)
        Set kase(I).Bouton = Me.Controls("CheckBox" & I)
      Next I
     
    End Sub
    Je sais qu'actuellement le code ne prend pas en compte les combobox, j'aurai penser a rajouter genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Dim Y As Integer
    et utiliser le meme code que I pour les combobox mais vu que c'est sencer suivre A, B, C ,D , E , F ,.... Je ne pense pas que ça marchera
    Je vous remercie par avance pour l'aide que vous pourriez m'apporter.
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/08/2017, 07h13
  2. dessiner une ligne avec des point de coordonnées doubles
    Par tanguy.L dans le forum Débuter
    Réponses: 2
    Dernier message: 11/11/2008, 23h16
  3. Compléter une ligne avec des petits points "à la word"
    Par polemoss dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 22/05/2007, 11h38
  4. Modifier une ligne avec layout:collection
    Par imane_bennouna dans le forum Struts 1
    Réponses: 3
    Dernier message: 07/05/2007, 14h47
  5. [VB6] Scrollbar dans une frame avec des textbox
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 44
    Dernier message: 01/03/2006, 08h16

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