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 :

Command button probleme


Sujet :

Excel

  1. #1
    Invité(e)
    Invité(e)
    Par défaut Command button probleme
    Bonjour tout le monde
    il y a quelqu'un qui peut m'aider ?
    voila le code
    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
     
    If CheckBox1 = True Then
     
     Sheets("KhaOla AliOuat").Range("c4").Value = TextBox1.Value
     Sheets("KhaOla AliOuat").Range("d4").Value = TextBox2.Value
     
     Else
     
     Sheets("KhaOla AliOuat").Range("c4").Value = ""
     Sheets("KhaOla AliOuat").Range("d4").Value = ""
     
     End If
     
    End Sub
     
     
    Private Sub CheckBox10_Click()
    If CheckBox4 = True Then
     
     Sheets("Bourasse Ghizlane ").Range("c4").Value = TextBox1.Value
     Sheets("Bourasse Ghizlane ").Range("d4").Value = TextBox2.Value
     
     Else
     
     Sheets("Bourasse Ghizlane ").Range("c4").Value = ""
     Sheets("Bourasse Ghizlane ").Range("d4").Value = ""
     
     End If
    End Sub
     
    Private Sub CheckBox11_Click()
    If CheckBox3 = True Then
     
     Sheets("Amir Marouane").Range("c4").Value = TextBox1.Value
     Sheets("Amir Marouane").Range("d4").Value = TextBox2.Value
     
     Else
     
     Sheets("Amir Marouane").Range("c4").Value = ""
     Sheets("Amir Marouane").Range("d4").Value = ""
     
     End If
    End Sub
     
    Private Sub CheckBox2_Click()
    If CheckBox2 = True Then
     
     Sheets("Chtaibi Lamiae").Range("c4").Value = TextBox1.Value
     Sheets("Chtaibi Lamiae").Range("d4").Value = TextBox2.Value
     
     Else
     
     Sheets("Chtaibi Lamiae").Range("c4").Value = ""
     Sheets("Chtaibi Lamiae").Range("d4").Value = ""
     
     End If
    End Sub
     
    Private Sub CheckBox3_Click()
    If CheckBox8 = True Then
     
     Sheets("Ayane Sami").Range("c4").Value = TextBox1.Value
     Sheets("Ayane Sami").Range("d4").Value = TextBox2.Value
     
     Else
     
     Sheets("Ayane Sami").Range("c4").Value = ""
     Sheets("Ayane Sami").Range("d4").Value = ""
     
     End If
    End Sub
     
    Private Sub CheckBox4_Click()
    If CheckBox11 = True Then
     
     Sheets("Bachiri Reda").Range("c4").Value = TextBox1.Value
     Sheets("Bachiri Reda").Range("d4").Value = TextBox2.Value
     
     Else
     
     Sheets("Bachiri Reda").Range("c4").Value = ""
     Sheets("Bachiri Reda").Range("d4").Value = ""
     
     End If
    End Sub
     
    Private Sub CheckBox5_Click()
    If CheckBox9 = True Then
     
     Sheets("Saboui Ismail").Range("c4").Value = TextBox1.Value
     Sheets("Saboui Ismail").Range("d4").Value = TextBox2.Value
     
     Else
     
     Sheets("Saboui ismail").Range("c4").Value = ""
     Sheets("Saboui Ismail").Range("d4").Value = ""
     
     End If
    End Sub
     
    Private Sub CheckBox6_Click()
    If CheckBox10 = True Then
     
     Sheets("Koudri Morad").Range("c4").Value = TextBox1.Value
     Sheets("Koudri Morad").Range("d4").Value = TextBox2.Value
     
     Else
     
     Sheets("Koudri Morad").Range("c4").Value = ""
     Sheets("Koudri Morad").Range("d4").Value = ""
     
     End If
    End Sub
     
    Private Sub CheckBox7_Click()
    If CheckBox7 = True Then
     
     Sheets("Raji Rachid").Range("c4").Value = TextBox1.Value
     Sheets("Raji Rachid").Range("d4").Value = TextBox2.Value
     
     Else
     
     Sheets("Raji Rachid").Range("c4").Value = ""
     Sheets("Raji Rachid").Range("d4").Value = ""
     
     End If
    End Sub
     
    Private Sub CheckBox8_Click()
    If CheckBox6 = True Then
     
     Sheets("Amir Adnane").Range("c4").Value = TextBox1.Value
     Sheets("Amir Adnane").Range("d4").Value = TextBox2.Value
     
     Else
     
     Sheets("Amir Adnane").Range("c4").Value = ""
     Sheets("Amir Adnane").Range("d4").Value = ""
     
     End If
    End Sub
     
    Private Sub CheckBox9_Click()
    If CheckBox5 = True Then
     
     Sheets("Bounira Nabil ").Range("c4").Value = TextBox1.Value
     Sheets("Bounira Nabil ").Range("d4").Value = TextBox2.Value
     
     Else
     
     Sheets("Bounira Nabil ").Range("c4").Value = ""
     Sheets("Bounira Nabil ").Range("d4").Value = ""
     
     End If
    End Sub
     
    Private Sub CommandButton1_Click()
    Load Me
    End Sub
     
    Private Sub CommandButton2_Click()
    Unload Me
    End Sub
     
    Private Sub UserForm_Click()
     
    End Sub
    le problème c'est quand je remplie le textbox1, 2 une deuxième fois il remplace ce que j'ai entre la première fois
    je crois que le problème est dans le cammand button

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 216
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je n'ai pas regardé ton code complètement mais la bonne pratique d'une mise à jour des informations entré dans un UserForm est de le faire après avoir cliqué sur un bouton de Confirmation (CommandButton) assigné à cet effet.
    C'est pour cela que tu as en général toujours 2 boutons. Un Annul et un OK
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par corona Voir le message
    Bonjour,
    Je n'ai pas regardé ton code complètement mais la bonne pratique d'une mise à jour des informations entré dans un UserForm est de le faire après avoir cliqué sur un bouton de Confirmation (CommandButton) assigné à cet effet.
    C'est pour cela que tu as en général toujours 2 boutons. Un Annul et un OK
    Merci es-que tu peut me donner le code de confirmation ?

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 216
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    C'est seulement créer un CommandButton que tu assignes à cette tâche et que tu nommes par exemple cmdConfirm.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub cmdConfirm_Click()
     ' Ton code de mise à jour comme par exemple
     If CheckBox1 = True Then
      Sheets("KhaOla AliOuat").Range("c4").Value = TextBox1.Value
      Sheets("KhaOla AliOuat").Range("d4").Value = TextBox2.Value
     Else
      Sheets("KhaOla AliOuat").Range("c4").Value = ""
      Sheets("KhaOla AliOuat").Range("d4").Value = ""
     End If
    End Sub
    Mais que tu peux simplifier comme ceci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub cmdConfirm_Click()
     With ThisWorkbook.Sheets("KhaOla AliOuat")
      .Range("c4") = IIf(CheckBox1, TextBox1, "")
      .Range("d4") = IIf(CheckBox1, TextBox1, "")
     End With
     Unload Me ' Fermer la UserForm
    End Sub
    Il faut bien entendu faire la mise à jour complète. C'est à dire toutes les cellules que tu souhaites mettre à jour. Je n'ai repris que la maj de C4 et D4.
    J'ai ajouté ThisWorkbook parce-que c'est toujours dangereux de ne pas préciser le classeur où tu écris.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par corona Voir le message
    Bonjour,
    C'est seulement créer un CommandButton que tu assignes à cette tâche et que tu nommes par exemple cmdConfirm.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub cmdConfirm_Click()
     ' Ton code de mise à jour comme par exemple
     If CheckBox1 = True Then
      Sheets("KhaOla AliOuat").Range("c4").Value = TextBox1.Value
      Sheets("KhaOla AliOuat").Range("d4").Value = TextBox2.Value
     Else
      Sheets("KhaOla AliOuat").Range("c4").Value = ""
      Sheets("KhaOla AliOuat").Range("d4").Value = ""
     End If
    End Sub
    Mais que tu peux simplifier comme ceci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub cmdConfirm_Click()
     With ThisWorkbook.Sheets("KhaOla AliOuat")
      .Range("c4") = IIf(CheckBox1, TextBox1, "")
      .Range("d4") = IIf(CheckBox1, TextBox1, "")
     End With
     Unload Me ' Fermer la UserForm
    End Sub
    Il faut bien entendu faire la mise à jour complète. C'est à dire toutes les cellules que tu souhaites mettre à jour. Je n'ai repris que la maj de C4 et D4.
    J'ai ajouté ThisWorkbook parce-que c'est toujours dangereux de ne pas préciser le classeur où tu écris.
    mais le Problème est toujours la quand je remplie la deuxième fois sa remplace ce que j'ai déjà tapez la première fois mais moi je veux lorsque je remplie les information une deuxième fois s'enregistre dans la cellule d'en bas
    aidez-moi svp

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 216
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    mais le Problème est toujours la quand je remplie la deuxième fois sa remplace ce que j'ai déjà tapez la première fois mais moi je veux lorsque je remplie les information une deuxième fois s'enregistre dans la cellule d'en bas
    aidez-moi svp
    Voilà le réel problème et c'est bien cela qui m'étonnais en voyant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("KhaOla AliOuat").Range("c4").Value = TextBox1.Value
    Si tu dis à quelqu'un d'aller déposer une lettre au 65 de la rue machin, il ne la déposera pas, du moins on l'espère , au n° 66 et bien le code VBA ne va certainement pas non plus prendre d'initiative.
    Il faut calculer la dernière ligne occupée et faire + 1
    Petit exemple ci-dessous à adapter à ton cas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With ThisWorkbook.Worksheets("Feuil1")
     LastRow = .Range("B" & Rows.Count).End(xlUp).Row
     msgbox "La dernière ligne occupée est " & LastRow
    End With
    Ici la variable LastRow, renverra le n° de la dernière ligne occupée de la colonne B, de la feuille Feuil1 (Worksheets("Feuil1"))du classeur où se trouve le code VBA (ThisWorkbook).
    Il faut donc pour écrire faire par exemple (à adapter selon ton cas)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      .Range("c" & LastRow + 1) = IIf(CheckBox1, TextBox1, "")
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Invité(e)
    Invité(e)
    Par défaut
    ca ne marche pas

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 216
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Affiche le code que tu as écrit pour faire la mise à jour.
    Soit aussi plus explicite car "cela ne marche pas" cela veux dire quoi, qu'il écrase toujours les informations, qu'il y a un message d'erreur ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  9. #9
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par corona Voir le message
    Il ne faut pas le prendre au premier degré mais tout de même, on ne sait pas à qui cela simplifie la tâche.
    t'a raison

  10. #10
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par corona Voir le message
    Bonjour,
    Affiche le code que tu as écrit pour faire la mise à jour.
    Soit aussi plus explicite car "cela ne marche pas" cela veux dire quoi, qu'il écrase toujours les informations, qu'il y a un message d'erreur ?
    ah oui
    y a pas d'erreur mais le problème est le même

    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
     
    Private Sub CheckBox1_Click()
     
    If CheckBox1 = True Then
     
     Sheets("KhaOla AliOuat").Range("c" & LastRow + 1).Value = TextBox1.Value
     Sheets("KhaOla AliOuat").Range("D" & LastRow + 1).Value = TextBox2.Value
     
     Else
     
     Sheets("KhaOla AliOuat").Range("c" & LastRow + 1).Value = ""
     Sheets("KhaOla AliOuat").Range("D" & LastRow + 1).Value = ""
     
     End If
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub CommandButton1_Click()
    With ThisWorkbook.Worksheets("Feuil1")
     LastRow = .Range("c" & LastRow + 1) = IIf(CheckBox1, TextBox1, "")
     MsgBox "La dernière ligne occupée est " & LastRow
    End With
     
     Unload Me ' Fermer la UserForm
    End Sub

  11. #11
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 216
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Est-ce que la variable LastRow est bien alimentée, je n'ai pas l'impression au vu de ton code. Où vas-tu la calculer ?
    N'oublie pas que j'ai donné des pistes à adapter
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  12. #12
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour !
    dsl je suis un peu perdu là

  13. #13
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 216
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Voici un exemple à adapter selon ton cas.
    Cela suppose que la colonne C a le même nombre de lignes remplies que les autres colonnes à mettre à jour.
    Dans le cas contraire, il faut refaire le calcul pour chaque colonne.
    L'idéal serait de calculer la valeur de LastRow sur la première colonne de la Base de données, si c'est une BD bien structurée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub cmdConfirm_Click()
     Dim LastRow As Single
     With ThisWorkbook.Sheets("Feuil2")
      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
     Unload Me ' Fermer la UserForm
    End Sub
    Ne pas oublier d'ajouter dans la même procédure, la mise à jour des autres cellules.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  14. #14
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par corona Voir le message
    Bonjour,
    Voici un exemple à adapter selon ton cas.
    Cela suppose que la colonne C a le même nombre de lignes remplies que les autres colonnes à mettre à jour.
    Dans le cas contraire, il faut refaire le calcul pour chaque colonne.
    L'idéal serait de calculer la valeur de LastRow sur la première colonne de la Base de données, si c'est une BD bien structurée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub cmdConfirm_Click()
     Dim LastRow As Single
     With ThisWorkbook.Sheets("Feuil2")
      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
     Unload Me ' Fermer la UserForm
    End Sub
    Ne pas oublier d'ajouter dans la même procédure, la mise à jour des autres cellules.
    ce code me donne une erreur d'exécution

  15. #15
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par biyob0 Voir le message
    ce code me donne une erreur d'exécution
    Sur le forum les messages ne sont pas limités à une ligne... tu peu en dire plus sur l'erreur d'exécution .. ? message d'erreur ? ligne concerné ? ...

  16. #16
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par bbil Voir le message
    Sur le forum les messages ne sont pas limités à une ligne... tu peu en dire plus sur l'erreur d'exécution .. ? message d'erreur ? ligne concerné ? ...
    ah OK

    erreur d'exécution '9'

    L'indice n'appartient pas a la sélection

    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
     
     
    Private Sub CheckBox1_Click()
     
    Dim LastRow As Single
     With ThisWorkbook.Sheets("Feuil2")
      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
     
    End Sub
    Private Sub CommandButton1_Click()
     
    Unload Me
    End Sub

  17. #17
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 216
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ce serait pas mal aussi quand tu indiques un message d'erreur, de dire à quelle ligne cela se passe.
    Je suppose que tu n'as pas de feuille nommée Feuil2 ?
    [EDIT] Petite remarque aussi. Pourquoi remettre la mise à jour des données avec un click sur CheckBox et pas avec le CommandButton ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  18. #18
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par corona Voir le message
    Bonjour,
    Ce serait pas mal aussi quand tu indiques un message d'erreur, de dire à quelle ligne cela se passe.
    Je suppose que tu n'as pas de feuille nommée Feuil2 ?
    [EDIT] Petite remarque aussi. Pourquoi remettre la mise à jour des données avec un click sur CheckBox et pas avec le CommandButton ?
    ligne 6
    j'ai Feuil2 (AliOuat KhaOla)
    es-que je dois remplace feuil 2 par AliOuat KhaOla ?
    remettre la mise à jour des données avec un click sur CheckBox et pas avec le CommandButton parce que c'est plus facile vus que je suis nul

  19. #19
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 216
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    j'ai Feuil2 (AliOuat KhaOla)
    es-que je dois remplace feuil 2 par AliOuat KhaOla ?
    Evidemment, si c'est le nom de la feuille
    remettre la mise à jour des données avec un click sur CheckBox et pas avec le CommandButton parce que c'est plus facile vus que je suis nul
    Si tu poses des questions, je suppose que c'est parce-que tu attends les réponses les plus pertinentes.
    Si je te conseille de placer le code de mise à jour de ton formulaire lorsque l'on clique sur le commandButton plutôt que sur le checkBox et que tu veux faire autrement sous prétexte que c'est plus facile, c'est à désespérer de donner un coup de main. De plus, je ne vois pas en quoi c'est plus facile ou difficile.
    Lorsque tu remplis un formulaire à la main, tu le rends une fois terminé.
    Lorsque tu vois une boite de dialogue dans un programme, Word, Excel etc..., la mise à jour se fait quand tu clique sur OK
    Et bien dans ton programme, essaie de faire pareil. Il est plus logique de mettre à jour des données une fois, tout le formulaire rempli par un click sur un bouton de confirmation.
    Si ton but est de prendre des petits morceaux de code et de faire des copier/coller sans essayer de comprendre, il est préférable de laisser tomber la programmation.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  20. #20
    Invité(e)
    Invité(e)
    Par défaut
    c'est bon j'ai compris
    et voici mon code finale

    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
     
    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(CheckBox3, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox3, 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(CheckBox4, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox4, 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(CheckBox5, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox5, 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(CheckBox6, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox6, 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(CheckBox8, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox8, 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(CheckBox9, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox9, 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(CheckBox10, TextBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox10, 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(CheckBox11, extBox1, "")
      .Range("d" & LastRow + 1) = IIf(CheckBox11, TextBox2, "")
     End With
     Unload Me ' Fermer la UserForm
    End Sub

    Merci un grand merci
    svp une dernière question
    et si je veux donne un lien a ce que je viens de tappez dans textbox 1 comment faire ?

Discussions similaires

  1. code pour un Command Button
    Par gillesa dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/02/2008, 18h51
  2. OLE commander par un command button
    Par drogba-11 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/07/2007, 22h24
  3. faire bouger 2 command button simultanement
    Par Namson dans le forum VB.NET
    Réponses: 6
    Dernier message: 23/05/2007, 10h43
  4. Commande SORT Problème
    Par Spyco dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 11/05/2006, 12h59

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