Programmer en vb
Bonjour et bienvenue,

vous venez de vous inscrire et vous souhaitez avoir accès aux différents forum.
il vous suffit alors de poster une présentation sur le forum "Présentation" ou divers sujets
votre accès aux autres forums sera automatiquement autorisé.

A vos claviers :

Merci d'avoir pris le temps de lire.
Merci pour votre inscription.

L'équipe de Programmer-en-VB
Qui est en ligne ?
Il y a en tout 1 utilisateur en ligne :: 0 Enregistré, 0 Invisible et 1 Invité

Aucun

Statistiques
Nous avons 120 membres enregistrésL'utilisateur enregistré le plus récent est TutoariiNos membres ont posté un total de 6300 messagesdans 706 sujets
Recherche dans les forums

Utiliser cette méthode afin de trouver rapidement les discussions disponible sur notre forum.


Utiliser le bouton résolu

Dans votre message d'origine
cliquer sur le bouton



Ensuite tout en bas sur
Modifier le titre du sujet
cliquer sur le bouton

Résolu !!!

Ensuite changer l’icône du sujet par le bouton

Voilà pas plus compliqué que cela.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Partenaires

créer un forum



Annuaire referencement


Flux RSS

MSN 
Novembre 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  

Calendrier

Autopassion.net le site ddi  l'automobile cr par ses utilisateurs
Partagez
Aller en bas
avatar
grisan29
Modérateur
Modérateur
Localisation : BRETAGNE Nord 29
Messages : 838
Date d'inscription : 25/07/2013
http://pascalcuisines.fr

incrémenter où monter et descendre une ligne dans une listview

le Sam 18 Juin - 21:23
bonsoir/ bonjour a tous
si vous désirer sélectionner une ligne sans actionner la souris c'est possible en possant 2 boutons a coté de la listview et leur mettre comme caption une flèche vers le haut et une autre vers le bas et mettre a chacun ce code


Code:
Private Sub CommandButton5_Click()  'Précédent
Call IncrementListView(Increment:=1)
End Sub

Private Sub CommandButton4_Click()  'suivant
Call IncrementListView(Increment:=-1)
End Sub



qui fait appel a celui-ci pour fonctionner


Code:
Private Sub IncrementListView(Increment As Long)
On Error Resume Next
With ListView1
  .SetFocus
  .ListItems(.SelectedItem.Index + Increment).Selected = True
  .ListItems(.SelectedItem.Index).EnsureVisible
End With
End Sub
 en plus de l'incrémentation voici 2 codes a mettre derrière 2 boutons qui permettent en sélectionant la ligne la faire remonter ou descendre suivant le besoin

Code:
Private Sub Cmbremonte_Click()
'Remonter
 
Dim T(), A As Integer, Nb As Integer, X As Long
Dim Temp As String, B As Integer
 
With ListView1
    For B = 1 To .ListItems.Count
        If .ListItems(B).Selected = True Then
            X = .SelectedItem.Index
            .ListItems(B).Selected = False
            If X = 1 Then
                .SetFocus
                .ListItems(X).Selected = True
                Exit Sub
            Else
                X = X - 1
            End If
            With .ListItems(X)
                Temp = .Text
                .Text = ListView1.ListItems(X + 1)
                ListView1.ListItems(X + 1).Text = Temp
                With .ListSubItems
                    Nb = .Count
                    ReDim T(1 To Nb)
                    For A = 1 To Nb
                        T(A) = .Item(A).Text
                        .Item(A).Text = ListView1.ListItems(X + 1).ListSubItems(A).Text
                        ListView1.ListItems(X + 1).ListSubItems(A).Text = T(A)
                    Next
                End With
            End With
        End If
    Next
    If X = 0 Then Exit Sub
    .SetFocus
    .ListItems(X).Selected = True
 
End With
End Sub
 
Private Sub Cmbdescend_Click()
 'Descendre
 
Dim T(), A As Integer, Nb As Integer, X As Long
Dim Temp As String, B As Integer
 
With ListView1
    For B = 1 To .ListItems.Count
        If .ListItems(B).Selected = True Then
            X = .SelectedItem.Index
            .ListItems(B).Selected = False
            If X = .ListItems.Count Then
                .SetFocus
                .ListItems(X).Selected = True
                Exit Sub
            Else
                X = X + 1
            End If
            With .ListItems(X)
                Temp = .Text
                .Text = ListView1.ListItems(X - 1)
                ListView1.ListItems(X - 1).Text = Temp
                With .ListSubItems
                    Nb = .Count
                    ReDim T(1 To Nb)
                    For A = 1 To Nb
                        T(A) = .Item(A).Text
                        .Item(A).Text = ListView1.ListItems(X - 1).ListSubItems(A).Text
                        ListView1.ListItems(X - 1).ListSubItems(A).Text = T(A)
                    Next
                End With
            End With
        End If
    Next
    If X = 0 Then Exit Sub
    .SetFocus
    .ListItems(X).Selected = True
End With
End Sub

_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum