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 :

changer des checkbox par une liste déroulante


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité(e)
    Invité(e)
    Par défaut changer des checkbox par une liste déroulante
    Bonjour !

    voila j'ai un formulaire userform avec des checkbox et je veux mettre a la place des checkbox une liste déroulante sans change le code vba


    code vba
    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
     
     
    Private Sub CommandButton1_Click()
     
     Dim LastRow As Single
     With ThisWorkbook.Sheets("AliOuat KhaOla")
      LastRow = .Range("C" & Rows.Count).End(xlUp).Row
     
      ' Mise à jour des cellules
      .Range("c" & LastRow + 1) = IIf(CheckBox1, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox1, TextBox2, "")
      End With
     With ThisWorkbook.Sheets("Chtaibi Lamiae")
      LastRow = .Range("C" & Rows.Count).End(xlUp).Row
     
      ' Mise à jour des cellules
      .Range("c" & LastRow + 1) = IIf(CheckBox2, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox2, TextBox2, "")
     End With
      With ThisWorkbook.Sheets("Amir Marouane")
      LastRow = .Range("C" & Rows.Count).End(xlUp).Row
     
      ' Mise à jour des cellules
      .Range("c" & LastRow + 1) = IIf(CheckBox11, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox11, TextBox2, "")
     End With
     With ThisWorkbook.Sheets("Bourasse Ghizlane ")
      LastRow = .Range("C" & Rows.Count).End(xlUp).Row
     
      ' Mise à jour des cellules
      .Range("c" & LastRow + 1) = IIf(CheckBox10, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox10, TextBox2, "")
     End With
      With ThisWorkbook.Sheets("Bounira Nabil ")
      LastRow = .Range("C" & Rows.Count).End(xlUp).Row
     
      ' Mise à jour des cellules
      .Range("c" & LastRow + 1) = IIf(CheckBox9, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox9, TextBox2, "")
     End With
      With ThisWorkbook.Sheets("Amir Adnane")
      LastRow = .Range("C" & Rows.Count).End(xlUp).Row
     
      ' Mise à jour des cellules
      .Range("c" & LastRow + 1) = IIf(CheckBox8, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox8, TextBox2, "")
     End With
      With ThisWorkbook.Sheets("Raji Rachid")
      LastRow = .Range("C" & Rows.Count).End(xlUp).Row
     
      ' Mise à jour des cellules
      .Range("c" & LastRow + 1) = IIf(CheckBox7, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox7, TextBox2, "")
     End With
      With ThisWorkbook.Sheets("Ayane Sami")
      LastRow = .Range("C" & Rows.Count).End(xlUp).Row
     
      ' Mise à jour des cellules
      .Range("c" & LastRow + 1) = IIf(CheckBox3, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox3, TextBox2, "")
     End With
      With ThisWorkbook.Sheets("Saboui Ismail")
      LastRow = .Range("C" & Rows.Count).End(xlUp).Row
     
      ' Mise à jour des cellules
      .Range("c" & LastRow + 1) = IIf(CheckBox5, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox5, TextBox2, "")
     End With
      With ThisWorkbook.Sheets("Koudri Morad")
      LastRow = .Range("C" & Rows.Count).End(xlUp).Row
     
      ' Mise à jour des cellules
      .Range("c" & LastRow + 1) = IIf(CheckBox6, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox6, TextBox2, "")
     End With
      With ThisWorkbook.Sheets("Bachiri Reda")
      LastRow = .Range("C" & Rows.Count).End(xlUp).Row
     
      ' Mise à jour des cellules
      .Range("c" & LastRow + 1) = IIf(CheckBox4, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox4, TextBox2, "")
     End With
       With ThisWorkbook.Sheets("Mes PrOjets")
      LastRow = .Range("C" & Rows.Count).End(xlUp).Row
     
      ' Mise à jour des cellules
      .Range("c" & LastRow + 1) = TextBox1
      .Range("d" & LastRow + 1) = TextBox2
     End With
     Unload Me ' Fermer la UserForm
     ActiveWorkbook.Save
     ActiveWorkbook.Close
     
     End Sub
     
    Private Sub CommandButton2_Click()
    Unload Me ' Fermer la UserForm
    Application.Visible = True
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Il faudrait que tu détailles le pourquoi de ce changement voulu.

    Les Chekbox et les zones de listes n'ont pas les mêmes méthodes et propriétés, de plus leur comportement est différent et sans changer le code c'est impossible.

    Philippe

  3. #3
    Invité(e)
    Invité(e)
    Par défaut
    dessole j'ai mal formulé
    je veux dire par sans changer le code
    sans changer la fonctionnalité du code

    voila le classeur j'ai créer dans le UserForm 2 page la premier contiens les checkbox et la deuxième la liste déroulante maintenant je veux faire un code pour exécute la deuxième page mais qui a la même fonction de la premier
    Fichiers attachés Fichiers attachés
    Dernière modification par AlainTech ; 25/08/2011 à 07h56. Motif: Fusion de 2 messages

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Problème résolu j'ai réussi a le débloquer moi même
    Voici les code

    Code pour les checkbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     Dim LastRow As Single
     With ThisWorkbook.Sheets("AliOuat KhaOla")
      LastRow = .Range("C" & Rows.Count).End(xlUp).Row
     
      ' Mise à jour des cellules
      .Range("c" & LastRow + 1) = IIf(CheckBox1, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox1, TextBox2, "")
      End With
    et le code pour la liste déroulante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     Dim LastRow As Single
     With ThisWorkbook.Sheets("AliOuat KhaOla")
      LastRow = .Range("C" & Rows.Count).End(xlUp).Row
     
      ' Mise à jour des cellules
      .Range("c" & LastRow + 1) = IIf(ComboBox1.ListIndex = 0, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(ComboBox1.ListIndex = 0, TextBox1, "")
      End With
    Dernière modification par Invité(e) ; 24/08/2011 à 15h30.

Discussions similaires

  1. [AC-2007] Changer le nom des attributs dans une liste déroulante
    Par Razorback dans le forum IHM
    Réponses: 8
    Dernier message: 17/04/2009, 12h04
  2. Eviter l'affichage des éléments d'une liste déroulante
    Par auriolbeach dans le forum Access
    Réponses: 1
    Dernier message: 28/02/2006, 07h50
  3. Affichage des mois dans une liste déroulante
    Par Le Rebel dans le forum Langage
    Réponses: 15
    Dernier message: 20/02/2006, 13h37
  4. récupération des données via une liste déroulante
    Par rahan_dave dans le forum Access
    Réponses: 1
    Dernier message: 13/10/2005, 12h27

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