userform, next and previous lines...

  • Initiateur de la discussion Initiateur de la discussion Pierwak
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Pierwak

XLDnaute Occasionnel
Bonjour a tous,
Encore une question pour les habitués des userforms. J'ai implémenté dans le module VBA d'une feuille nommée "base" une méthode permettant d'afficher dans mon userform toutes les valeurs d'une ligne de cette feuille "base" sur laquelle l'utilisateur double clique. j'utilise pour cela une méthode nommée "lineopen".
Code:
Public Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Value <> "" Then
    clickline = Target.Row
Else: MsgBox "Please click on a filled cell of this line", vbInformation
Exit Sub

End If
Call lineopen(clickline)
End Sub

J'ai placé également cette méthode lineopen dans le module VBA de la feuille base. Cette étape marche très bien mais maintenant je souhaiterai pouvoir ajouter a mon userform deux boutons "next" et "previous" pour pouvoir charger directement les données des lignes précédentes ou suivantes. seulement le code des boutons se place dans le module de l'userform et malgré le fait que j'ai déclaré "lineopen" comme une méthode publique je ne peux apparemment pas l'appeler directement par lineopen(clickline+1) comme je comptais le faire... J'avoue que je suis un peu perdu, ai je placé lineopen au mauvais endroit? faut il avoir le code deux fois (une dans le modul feuille et l'autre dans l'usf) ?? si ce problème inspire quelqun...
D'avance merci a tous les xldiens
 
Re : userform, next and previous lines...

Bonjour,

Ayant cassé ma boule de cristal et n'ayant pas les moyens de la remplacer...
Avec le peu d'informations transmises je pencherais pour un défaut de déclaration de variable :
Code:
Public Clickline as long
en début d'un module standard.

Cordialement
 
Re : userform, next and previous lines...

re,
Merci de ta réponse néanmoins je ne vois pas trop ce qu'il manque pour comprendre le problème. Une procédure au double click en appelle une autre qui rempli l'userform et l'ouvre. ces deux procédures sont dans le module de la feuille base et marchent.
Je voudrais juste pouvoir associer celle qui rempli le usf a des boutons next et previous pour changer de ligne sans avoir a sortir et double clicker sur la ligne du dessous...
Je ne sais pas si c'est plus clair ainsi...
J'ai essayé de déclarer la variable quickline dans le module de la worksheet et de déplacer la méthode lineopen dans ce meme module mais rien a faire, je ne peux toujours pas l'appeler dans le code du usf alors que le reste marche bien...
 
Re : userform, next and previous lines...

Re,
je ne vois pas trop ce qu'il manque pour comprendre le problème.
Comme le stipule la charte de ce forum un petit exemple sur un fichier vaut mieux qu'un long discours car on ne va pas s'amuser à essayer de reconstituer un puzzle dont on n'a pas toutes les pièces...
PAr ailleurs
J'ai essayé de déclarer la variable quickline dans le module de la worksheet et de déplacer la méthode lineopen dans ce meme module
ne correspond pas à ce que je t'ai proposé...
Donc essaye déjà dans un 1er temps ce que je t'ai indiqué.🙄

Cordialement
 
Re : userform, next and previous lines...

Bonjour,

tu met ton userform.show 0 de cette façon a chaque fois que tu sélectionne une cellule sur ta feuille avec le double click ton userform se met a jour, et reste apparent avec les valeurs que tu a sélectionner

a +
 
Re : userform, next and previous lines...

re,

voiçi un exemple

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim C As Range
Cancel = True
If Not Application.Intersect(Target, Range("Noms")) Is Nothing Then 'Noms = plage nomé en colonne a
Set C = ActiveSheet.Cells.Find(What:=ActiveCell)
If Not C Is Nothing Then
With UserForm1
.TextBox1 = C.Value
.TextBox2 = C.Offset(0, 1).Value
.TextBox3 = C.Offset(0, 2).Value
.Show 0
End With
End If
End If
End Sub

3 colonnes de données sur cet exemple!

bonjour spitnolan

salutations
 
Dernière édition:
Re : userform, next and previous lines...

re a tous,
Merci Abtony, je n'avais pas pensé à cette solution mais finalement c'est encore mieux que des boutons next et previous car on peut sauter de ce qu'on veut...
Merci aussi a spitnolan08 d'avoir essayé de faire mon puzzle 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour