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 :

Bouton précédent et suivant dans formulaire [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 146
    Points : 61
    Points
    61
    Par défaut Bouton précédent et suivant dans formulaire
    Bonjour,

    J'ai réalisé un formulaire avec des boutons précédent et suivant or ceux-ci ne fonctionnent pas correctement.

    Quelqu'un saurait-il ce qui ne convient pas. J'aurai par ailleurs souhaiter mettre un message quand on est sur le dernier enregistrement et qu'on ne peut pas passer au suivant car on a atteind la fin du tableau. J'ai essayé différentes choses mais aucune n'a fonctionné.

    Merci beaucoup pour votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut
    Bonjour, peux tu nous montrer ton code?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 146
    Points : 61
    Points
    61
    Par défaut
    Il est dans le document joint mais voilà ci-dessous :

    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
    Private Sub Bt_Precedent_Click()
     
        If Me.NumOrdre.ListIndex = -1 Then Exit Sub
     
        Ligne = Me.NumOrdre.ListIndex + 1
     
        If Ligne > 1 Then
     
            Nom = Ws.Cells(Ligne, "B") 'Nom
     
            Prenom = Ws.Cells(Ligne, "C") 'Prénom
        Else
            MsgBox "Il n'existe pas d'enregistrement précédent."
        End If
     
    End Sub
     
    Private Sub Bt_Suivant_Click()
     
        If Me.NumOrdre.ListIndex = -1 Then Exit Sub
     
        Ligne = Me.NumOrdre.ListIndex + 3
     
        Nom = Ws.Cells(Ligne, "B") 'Nom
        Prenom = Ws.Cells(Ligne, "C") 'Prénom
        '    MsgBox "Vous avez atteint la fin des enregistrements."
     
    End Sub

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Février 2015
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Février 2015
    Messages : 118
    Points : 178
    Points
    178
    Par défaut
    Bonjour,

    La prochaine fois, montre l'ensemble de ton code, ça sera plus facile.
    Voici une adaptation :

    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
     
    Dim Ws As Worksheet
    Dim Ligne As Long
    Dim Stop_Event As Boolean
     
    Private Sub UserForm_Initialize()
        Dim J As Long
     
        Set Ws = Sheets("Feuil1")
     
        Stop_Event = True
     
        For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
     
            NumOrdre.AddItem Ws.Range("A" & J)
     
        Next J
     
        For J = 2 To Ws.Range("B" & Rows.Count).End(xlUp).Row
     
            Nom.AddItem Ws.Range("B" & J)
     
        Next J
     
        Stop_Event = False
     
    End Sub
     
    Private Sub NumOrdre_Change()
     
        If Stop_Event = True Then Exit Sub
     
        If NumOrdre.ListIndex = -1 Then Exit Sub
     
        Stop_Event = True
     
        Nom.ListIndex = NumOrdre.ListIndex
     
        Prenom = Ws.Cells(NumOrdre.ListIndex + 2, "C") 'Prénom
     
        Stop_Event = False
     
    End Sub
     
    Private Sub Nom_Change()
     
        If Stop_Event = True Then Exit Sub
     
        If Nom.ListIndex = -1 Then Exit Sub
     
        Stop_Event = True
     
        NumOrdre.ListIndex = Nom.ListIndex
     
        Prenom = Ws.Cells(Nom.ListIndex + 2, "C") 'Prénom
     
        Stop_Event = False
     
    End Sub
     
    Private Sub Bt_Precedent_Click()
     
        If NumOrdre.ListIndex > 0 Then
     
            NumOrdre.ListIndex = NumOrdre.ListIndex - 1
     
        Else
     
            MsgBox "Il n'existe pas d'enregistrement précédent."
     
        End If
    End Sub
     
    Private Sub Bt_Suivant_Click()
     
        If NumOrdre.ListIndex < (NumOrdre.ListCount - 1) Then
     
            NumOrdre.ListIndex = NumOrdre.ListIndex + 1
     
        Else
     
            MsgBox "Vous avez atteint la fin des enregistrements."
     
        End If
     
    End Sub

    N'oublie pas le si ça te va.

    Bonne continuation.

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par lumpys Voir le message
    Il est dans le document joint
    La plupart des répondeurs ne veulent pas télécharger les fichiers-joints, surtout des fichiers de macros, et surtout aussi lorsqu'ils sont balancés ici sans avoir été demandés au préalable.

    http://www.developpez.net/forums/d84...s-discussions/
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Personnellement j'utilise un scrolbarre.

    Je fixe le min à 2 si la ligne 1 contient les titres et le max sur la dernière ligne du tableau et value me donne la ligne j'utilise l'événement change pour rafraichir mes textbox!

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 146
    Points : 61
    Points
    61
    Par défaut
    Autant pour moi concernant la pièce jointe.

    Merci OBO29 ça fonctionne, c'est parfait

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

Discussions similaires

  1. Taille du bouton liste de choix dans formulaire
    Par Poisell dans le forum IHM
    Réponses: 5
    Dernier message: 17/12/2007, 17h26
  2. Boutons Précédent et Suivant pour un CD ?
    Par vez2006 dans le forum Flash
    Réponses: 13
    Dernier message: 12/10/2006, 20h01
  3. Réponses: 13
    Dernier message: 06/07/2006, 17h06
  4. probleme bouton radio avec onChange dans formulaire
    Par wil4linux dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/09/2005, 11h26

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