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 :

comment code le checkbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Rwanda

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 18
    Par défaut comment code le checkbox
    bonsoir,j'ai un problem avec mon userform que j'ai developé en excel,

    donc j'ai 5 textbox avec 5 checkboc, un checkbox devant un textbox,
    j'ai codé de façon que si je coche le check box,le textbox correspondat soit desactivé.ça accepte,mais le probleme que j'ai ce que si je coche 4 checkbox pour rester avec un seul textbox qui va remplir seulement un seul colone,dans la collone qui doit être rempli les mots se remplecent, donc le mot que j'entre va remplecer le mot precedent alors que je voulais que ça va dans le deuxieme ligne.

    voici mes code for the chaque checkbox:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Check3_Click()
    txtTerm.Enabled = (Check3.Value = vbChecked)
    End Sub

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonsoir
    Et comment tu rapatrie le texte rentrée dans tes TextBox vers ta feuille Excel?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Rwanda

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 18
    Par défaut remplecemt d'un entré
    voici mes codes
    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
     
     
    Private Sub Check1_Click()
    txtKiny.Enabled = (Check1.Value = vbChecked)
    End Sub
    Private Sub Check2_Click()
    txtTerm1.Enabled = (Check2.Value = vbChecked)
    End Sub
     
    Private Sub Check3_Click()
    txtTerm.Enabled = (Check3.Value = vbChecked)
    End Sub
     
    Private Sub Check4_Click()
    txtFren.Enabled = (Check4.Value = vbChecked)
    End Sub
     
    Private Sub Check5_Click()
    txtEng.Enabled = (Check5.Value = vbChecked)
    End Sub
     
    Private Sub cmdAdd_Click()
    Dim iRow As Long
    Dim ws As Worksheet
    Set ws = Worksheets("PartsData")
     
    iRow = ws.Cells(Rows.Count, 1) _
      .End(xlUp).Offset(1, 0).Row
     
     
     
     
    ws.Cells(iRow, 1).Value = Me.txtKiny.Value
    ws.Cells(iRow, 2).Value = Me.txtTerm1.Value
    ws.Cells(iRow, 3).Value = Me.txtTerm.Value
    ws.Cells(iRow, 4).Value = Me.txtFren.Value
    ws.Cells(iRow, 5).Value = Me.txtEng.Value
     
     
     
     
    Me.txtKiny.Value = ""
    Me.txtTerm1.Value = ""
    Me.txtTerm.Value = ""
    Me.txtFren.Value = ""
    Me.txtEng.Value = ""
    End Sub
     
    Private Sub cmdClose_Click()
    Unload Me
    End Sub
     
    Private Sub Label1_Click()
     
    Private Sub txtTerm_Exit(ByVal Cancel As MSForms.ReturnBoolean)
      If Right(txtTerm.Text, 3) <> "tse" Then Cancel = True
     End Sub
     
     
    Private Sub txtTerm1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
     
     If Right(txtTerm1.Text, 2) <> "ga" Then Cancel = True
     End Sub
     
     
    Private Sub UserForm_Click()
     
    End Sub
    je viens de decouvrir que c'est pas un probleme de check box,mais plutot le probleme de codes au niveau de textbox,parce que lorseque je commence à entrer le données à partir du deuxieme checkbox,les données se remplecent dans mon fillform en excel, donc mon sheet excel je peux pas entrer plus d'un seul ligne à partir d'un userform à moins que je commence par le promier checkbox.

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    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
    Private Sub cmdAdd_Click()
    Dim Txt As Variant
    Dim iRow As Long
    Dim c As Range
    Dim i As Byte
     
    Txt = Array("Kiny", "Term1", "Term", "Fren", "Eng")
    With Worksheets("PartsData")
        Set c = .UsedRange.Find("*", , , , xlByColumns, xlPrevious)
        If Not c Is Nothing Then
            iRow = c.Row + 1
            Set c = Nothing
        Else
            iRow = 1
        End If
     
        For i = 0 To 4
            If Not Me.Controls("Check" & i + 1) Then .Cells(iRow, i + 1).Value = Me.Controls("txt" & Txt(i)).Value
            Me.Controls("txt" & Txt(i)).Value = ""
        Next i
    End With
    End Sub

  5. #5
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Une petite explication en complément du code de mercatog.
    Avec ton code, avant de copier le contenu des TextBox tu recherches le numéro de la ligne où sera effectué l’ajout.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
    Cette recherche n’étant effectuée que dans la colonne 1, l’ajout se fait pour toutes les colonnes sur cette même ligne (iRow).
    Si la dernière cellule renseignée de la colonne 1 est positionnée en retrait par rapport aux cellules renseignées des autres colonnes, tu écrases les anciennes données de ces colonnes.
    Pour que les nouvelles données soient enregistrées systématiquement sur une nouvelle ligne ( en laissant un blanc si la TextBox correspondant à la cellule n’est pas renseignée), il faut déterminer le numéro de la dernière ligne de la plage utilisée (utilisation de la propriété UsedRange proposée par mercatog).
    Remarque : pour que chaque nouvelle donnée soit enregistrée directement à la suite de la précédente, il faudrait que tu recherches la dernière cellule renseignée pour chacune des 5 colonnes.

    Cordialement.

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/05/2007, 15h45
  2. Comment positionner des checkbox
    Par faucon54 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 14/05/2007, 14h55
  3. Réponses: 4
    Dernier message: 21/11/2006, 14h44
  4. Comment rendre une checkbox inactive ?
    Par damien99 dans le forum MFC
    Réponses: 2
    Dernier message: 08/02/2006, 21h42
  5. Probleme : comment mettre un checkbox innaccessible ?
    Par angelevil dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 25/02/2005, 19h13

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