Activer un bouton selon condition

Résolu
New_VBA_User Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   -  
New_VBA_User Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J’aimerai avoir un peu d’aide.

Exemple projet: https://www.cjoint.com/c/IIdnLuHVIKI

Au lancement de projet la ligne A2 est sélectionnée, avec le bouton Next on affiche la valeur de ligne de dessous, et avec le bouton Previous on affiche la valeur de ligne de dessus et on sélectionne la ligne affiché.

J’aimerai que quand la 1ère ligne est sélectionnée on désactive le bouton Previous car qu’on est à la 1ère ligne il n’y a pas de valeur à aller chercher à la ligne précédente.

Par ex : Lorsqu’on est au milieu de colonne et on remonte jusqu’à la 1ère ligne, le bouton Previous se désactive. Et qu’on a descende la ligne avec le bouton Next le bouton Previous se réactive.

Merci d’avance pour votre aide.
Salutation.

Configuration: Windows / Edge 18.17763

1 réponse

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    voir ceci pour activer ou désactiver un commanbutton:

    https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-D

    Il te suffit de mettre les conditions

    Si ligne sélectionnée alors je désactive ou j'active

    0
    1. New_VBA_User Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   1
       
      Bonjour.

      fichier exemple V2: https://www.cjoint.com/c/IIdoedNRS3I

      j'ai essayé qqch chose, voir fichier ci-joint.

      j'ai désactivé le bouton Previous dans l'initialisation et dans lors qu' on presse le bouton Next on réactive le bouton Previous car on n'est plus sur la 1ère ligne.

      et dans le bouton Previous j'ai fait la condition si on la 1ère ligne est sélectionné alors on désactive le bouton Previous, lors qu'on au milieu de colonne, et j'appuie sur le bouton Previous , il remote directement à la 1ère ligne et la valeur affiche dans le texte box ne correspond pas à la 1ère ligne.

      je ne comprends pas,

      merci de l'aide.
      0
    2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      comme ceci:

      Option Explicit
      Private Sub CommandButton_Next_Click()
      If ActiveCell.Offset(1, 0).Value = "" Then
      CommandButton_Next.Enabled = False
      Exit Sub
      Else
      Application.ScreenUpdating = False
      Selection.EntireRow.Cut
      Selection.Offset(Selection.Rows.Count + 1).EntireRow.Insert
      Selection.Offset(1).Select
           Me.TextBox_EquipementSAP.Value = Selection.Value
          CommandButton1_Previous.Enabled = True
          End If
      End Sub
      Private Sub CommandButton1_Previous_Click()
      If ActiveCell.Row = 2 Then
      CommandButton1_Previous.Enabled = False
      Exit Sub
      Else
      Application.ScreenUpdating = False
      If Selection.Row > 1 Then
          Selection.EntireRow.Cut
          Selection.Offset(-1).EntireRow.Insert
          Selection.Offset(-1).Select
      End If
      Me.TextBox_EquipementSAP.Value = Selection.Value
         CommandButton_Next.Enabled = True
          End If
      End Sub


      @+
      0
    3. New_VBA_User Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   1
       
      Bonjour,

      désolé pour la réponse tardive.


      Merci, ça fonctionne.
      0