Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

userform, next and previous lines...

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
 

Spitnolan08

XLDnaute Barbatruc
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
 

Pierwak

XLDnaute Occasionnel
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...
 

Spitnolan08

XLDnaute Barbatruc
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
 

abtony

XLDnaute Impliqué
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 +
 

abtony

XLDnaute Impliqué
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:

Pierwak

XLDnaute Occasionnel
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
 

Discussions similaires

Réponses
37
Affichages
4 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…