2 boutons équivalent au SPIN

Asmoden

XLDnaute Junior
Bonsoir le forum,

Voilà j'ai un petit projet qui demande d'intégrer sur un UF deux boutons, un qui incrémente les lignes d'un tableau pour les afficher sur l'UF et l'autre qui décrémente les lignes.

Pour faire simple, j'ai un tableau de résultat, donc quand je clique sur le bouton de gauche, cela remonte à la ligne du dessus en la sélectionnant pour afficher les données (çà c'est pas le souci je sais faire)
et l'autre ben il descend d'une ligne.

Mon problème réside dans la limitation des champs, on ne peut pas remonté plus haut que la ligne 11 donc quand on arrive à la ligne 11 si on clique encore sur le bouton de gauche, il faut aller sélectionner la dernière ligne du tableau remplie.

De même avec le bouton droit qui permet de descendre, une fois tout en bas du tableau, il faut sélectionner la ligne 11.

Bref créer une sorte de boucle de sélection.

Pourriez-vous m'aider SVP?

Mon projet est pour début de semaine, et il s'agit d'un élément que je n'arrive pas à mettre en place.

Merci!!!!
 

kjin

XLDnaute Barbatruc
Re : 2 boutons équivalent au SPIN

Bonsoir,
Bonsoir said :)
Et si tu faisais passer le code de tes boutons qui sélectionnent tes lignes peut-être que cela pourrait aider à résoudre le pb plus rapidement, j'ai cru comprendre que c'était urgent.
A+
kjin
 

Asmoden

XLDnaute Junior
Re : 2 boutons équivalent au SPIN

oki oki

alors le code des boutons je mets que celui d'un des deux car c'est de l'identique quasiment il me semble. Merci!

Code:
Rem Attribute VBA_ModuleType=VBAFormModule
Option VBASupport 1
Option Explicit 'oblige à déclarer toutes les variables


Private Sub CommandButton3_Click()

'Initialisation des variables
Dim x As Long 'déclare la variable x
Dim i_row As Long
Dim i As Integer

i_row = Selection.Cells.Row
i = Range("C65536").End(xlUp).Row

   
'Tant que la ligne sélectionnée est supérieure à 11
'on remonte de ligne en ligne Sinon on se positionne
'sur la dernière ligne

If i_row > 11 Then

For x = 1 To 3 'boucle sur 3 éléments
   
   With Controls("TextBox" & x)
   
   .Text = Sheets("Résultat Recherche").Cells(i_row - 1, x)
   
   End With
    
    Next x
    

Else
     
    i_row = Range("C65536").End(xlUp).Row
     
    Cells(i_row, 3).EntireRow.Select
       
   For x = 1 To 3 'boucle sur 3 éléments
   
   With Controls("TextBox" & x)
   
   .Text = Sheets("Résultat Recherche").Cells(i_row - 1, x)
   
    End With
    
    Next x
    
End If

Selection.Offset(-1, 0).Select

End Sub
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : 2 boutons équivalent au SPIN

Re,
Juste qq questions :
- à l'ouverture du formulaire les textbox doivent-elles être vides ou doivent t-elles afficher les valeurs de la ligne actuellement sélectionnée
- comment s'effectue la première sélection de lignes
A+
kjin
 

kjin

XLDnaute Barbatruc
Re : 2 boutons équivalent au SPIN

Re,
Alors peut-être comme ceci
Code:
Option Explicit
Dim Lign As Long, Derlign As Long, x As Long

Private Sub CommandButton1_Click() 'bouton -
Lign = Lign - 1
If Lign < 11 Then Lign = Derlign
    For x = 1 To 3
        With Controls("TextBox" & x)
        .Text = Sheets("Résultat Recherche").Cells(Lign, x)
        End With
    Next x
    
End Sub

Private Sub CommandButton2_Click() 'bouton +
Lign = Lign + 1
If Lign > Derlign Then Lign = 11
    For x = 1 To 3
        With Controls("TextBox" & x)
        .Text = Sheets("Résultat Recherche").Cells(Lign, x)
        End With
    Next x
    
End Sub

Private Sub UserForm_Initialize()
Derlign = Range("C65536").End(xlUp).Row
    For x = 1 To 3
        With Controls("TextBox" & x)
        .Text = Sheets("Résultat Recherche").Cells(11, x)
        End With
    Next x

End Sub
A+
kjin
 

Asmoden

XLDnaute Junior
Re : 2 boutons équivalent au SPIN

Bonjour Kjin, Le forum,

Le code marche parfaitement merci!

Par contre existerait-il un moyen d'accélerer la vitesse d'exécution?

Car le click là doit être assez lent pour naviguer sur les lignes, peut-on accélerer ceci?

Merci!!!
 
Dernière édition:

Asmoden

XLDnaute Junior
Re : 2 boutons équivalent au SPIN

Re le Forum,

Je voualsi de plus permettre à l'utilisateur de diminuer l'UF afin qu'il puisse si il le désire le laisser en arrière plan pour travailler sur un autre fichier excel et non pas être obliger de le fermer pour travailler sur autre chose

Est-ce possible?

Merci encore
 

Asmoden

XLDnaute Junior
Re : 2 boutons équivalent au SPIN

Petit souci concernant le code, lorsque je clique sur le bouton 2 pour descendre d'une ligne il part du début du tableau et non de la ligne 11 visiblement il initialise pas correctement pour cette partie de code une idée peut-être?
 

Discussions similaires

Réponses
9
Affichages
201

Statistiques des forums

Discussions
312 606
Messages
2 090 176
Membres
104 435
dernier inscrit
ZAMAZ