OVH Cloud OVH Cloud

Excelabo : Déplacement ds Listbox

4 réponses
Avatar
Pierre57
Bonsoir à tous,

J'ai récupérer une astuce très interréssante sur www.excelabo.net (que je
conseille aux débutants comme moi), mais malheureusement j'éprouve quelques
difficultés à la faire fonctionner.

En exécutant le code, j'obtiens l'erreur suivante dans routine : Sub
BBas_Click sur la ligne : .List(.ListIndex + 1) = .List(.ListIndex)

"Erreur d'exécution 70 :
Impossible de définir la propriété List. Accès refusé"

Est-ce un paramètre à positionner dans la ListBox pour autoriser les modifs ?

Merci pour votre expertise,

Salutations,

Ci-après le code utilisé :
-----------------------
Déplacement d'éléments dans une listbox
Comment permettre à un usager de déplacer les éléments dans une listbox ?
Dans cet exemple, la listbox est nommée
LChampsChoisis.

Pour cela mets 2 boutons avec comme Caption "Vers le bas" et
Vers le haut", qui fonctionnent comme ceux permettant de régler
l'ordre de tabulation (menu "Affichage" de l'environnement VBA).

Voici le code associé à ces 2 boutons :

Private Sub BBas_Click()
Dim Suiv As String
With LChampsChoisis
Suiv = .List(.ListIndex + 1)
.List(.ListIndex + 1) = .List(.ListIndex)
.List(.ListIndex) = Suiv
' Resélection de l'élément déplacé
.ListIndex = .ListIndex + 1
End With
End Sub

Private Sub BHaut_Click()
Dim Prec As String
With LChampsChoisis
Prec = .List(.ListIndex - 1)
.List(.ListIndex - 1) = .List(.ListIndex)
.List(.ListIndex) = Prec
' Resélection de l'élément déplacé
.ListIndex = .ListIndex - 1
End With
End Sub

Pour faire passer l'élément 1 en 4, il faut cliquer 3 fois sur le bouton
"Vers le bas".
Michel Gaboly,
Ajouté ou modifié le 03/06/2004 (N°1443)

4 réponses

Avatar
anonymousA
bonjour,

pas été voir la proc de Excelabo mais c'est sans doute parceque tu
essayes dédéplacer le 1er élément vers le haut ou le dernier élément
vers le bas. Donc pour s'en prémunir, voici entre autres une manière d'y
arriver


Private Sub BBas_Click()
Dim Suiv As String

With Me.ListBox1
If Not .ListIndex = .ListCount - 1 Then
Suiv = .List(.ListIndex + 1)
.List(.ListIndex + 1) = .List(.ListIndex)
.List(.ListIndex) = Suiv
' Resélection de l'élément déplacé
.ListIndex = .ListIndex + 1
End If
End With
End Sub

Private Sub BHaut_Click()
Dim Prec As String
With Me.ListBox1
If Not .ListIndex = 0 Then
Prec = .List(.ListIndex - 1)
.List(.ListIndex - 1) = .List(.ListIndex)
.List(.ListIndex) = Prec
' Resélection de l'élément déplacé
.ListIndex = .ListIndex - 1
End If
End With
End Sub

A+

Bonsoir à tous,

J'ai récupérer une astuce très interréssante sur www.excelabo.net (que je
conseille aux débutants comme moi), mais malheureusement j'éprouve quelques
difficultés à la faire fonctionner.

En exécutant le code, j'obtiens l'erreur suivante dans routine : Sub
BBas_Click sur la ligne : .List(.ListIndex + 1) = .List(.ListIndex)

"Erreur d'exécution 70 :
Impossible de définir la propriété List. Accès refusé"

Est-ce un paramètre à positionner dans la ListBox pour autoriser les modifs ?

Merci pour votre expertise,

Salutations,

Ci-après le code utilisé :
-----------------------
Déplacement d'éléments dans une listbox
Comment permettre à un usager de déplacer les éléments dans une listbox ?
Dans cet exemple, la listbox est nommée
LChampsChoisis.

Pour cela mets 2 boutons avec comme Caption "Vers le bas" et
Vers le haut", qui fonctionnent comme ceux permettant de régler
l'ordre de tabulation (menu "Affichage" de l'environnement VBA).

Voici le code associé à ces 2 boutons :

Private Sub BBas_Click()
Dim Suiv As String
With LChampsChoisis
Suiv = .List(.ListIndex + 1)
.List(.ListIndex + 1) = .List(.ListIndex)
.List(.ListIndex) = Suiv
' Resélection de l'élément déplacé
.ListIndex = .ListIndex + 1
End With
End Sub

Private Sub BHaut_Click()
Dim Prec As String
With LChampsChoisis
Prec = .List(.ListIndex - 1)
.List(.ListIndex - 1) = .List(.ListIndex)
.List(.ListIndex) = Prec
' Resélection de l'élément déplacé
.ListIndex = .ListIndex - 1
End With
End Sub

Pour faire passer l'élément 1 en 4, il faut cliquer 3 fois sur le bouton
"Vers le bas".
Michel Gaboly,
Ajouté ou modifié le 03/06/2004 (N°1443)



Avatar
Pierre57
Bonsoir,

J'avais effectivement ajouté un test dans la proc si ligne sélectionnée = 0
et décalage demandé vers le haut et si ligne sélectionnée = 19 et décalage
demandé vers le bas.

J'obtiens toujours la même erreur : "70 .... Accès refusé"

Est-ce un Pb de paramètre dans la ListBox ?

Merci pour les idées de solutions,

Salutations,



bonjour,

pas été voir la proc de Excelabo mais c'est sans doute parceque tu
essayes dédéplacer le 1er élément vers le haut ou le dernier élément
vers le bas. Donc pour s'en prémunir, voici entre autres une manière d'y
arriver


Private Sub BBas_Click()
Dim Suiv As String

With Me.ListBox1
If Not .ListIndex = .ListCount - 1 Then
Suiv = .List(.ListIndex + 1)
..List(.ListIndex + 1) = .List(.ListIndex)
..List(.ListIndex) = Suiv
' Resélection de l'élément déplacé
..ListIndex = .ListIndex + 1
End If
End With
End Sub

Private Sub BHaut_Click()
Dim Prec As String
With Me.ListBox1
If Not .ListIndex = 0 Then
Prec = .List(.ListIndex - 1)
..List(.ListIndex - 1) = .List(.ListIndex)
..List(.ListIndex) = Prec
' Resélection de l'élément déplacé
..ListIndex = .ListIndex - 1
End If
End With
End Sub

A+

Bonsoir à tous,

J'ai récupérer une astuce très interréssante sur www.excelabo.net (que je
conseille aux débutants comme moi), mais malheureusement j'éprouve quelques
difficultés à la faire fonctionner.

En exécutant le code, j'obtiens l'erreur suivante dans routine : Sub
BBas_Click sur la ligne : .List(.ListIndex + 1) = .List(.ListIndex)

"Erreur d'exécution 70 :
Impossible de définir la propriété List. Accès refusé"

Est-ce un paramètre à positionner dans la ListBox pour autoriser les modifs ?

Merci pour votre expertise,

Salutations,

Ci-après le code utilisé :
-----------------------
Déplacement d'éléments dans une listbox
Comment permettre à un usager de déplacer les éléments dans une listbox ?
Dans cet exemple, la listbox est nommée
LChampsChoisis.

Pour cela mets 2 boutons avec comme Caption "Vers le bas" et
Vers le haut", qui fonctionnent comme ceux permettant de régler
l'ordre de tabulation (menu "Affichage" de l'environnement VBA).

Voici le code associé à ces 2 boutons :

Private Sub BBas_Click()
Dim Suiv As String
With LChampsChoisis
Suiv = .List(.ListIndex + 1)
.List(.ListIndex + 1) = .List(.ListIndex)
.List(.ListIndex) = Suiv
' Resélection de l'élément déplacé
.ListIndex = .ListIndex + 1
End With
End Sub

Private Sub BHaut_Click()
Dim Prec As String
With LChampsChoisis
Prec = .List(.ListIndex - 1)
.List(.ListIndex - 1) = .List(.ListIndex)
.List(.ListIndex) = Prec
' Resélection de l'élément déplacé
.ListIndex = .ListIndex - 1
End With
End Sub

Pour faire passer l'élément 1 en 4, il faut cliquer 3 fois sur le bouton
"Vers le bas".
Michel Gaboly,
Ajouté ou modifié le 03/06/2004 (N°1443)






Avatar
anonymousA
comme ca je ne vois pas. As tu essayé de manière brute la proc que je
t'ai communiquée ?
Si oui et que ca ne marche pas, si tu le souhaites envoyer ton fichier à


A+

Bonsoir,

J'avais effectivement ajouté un test dans la proc si ligne sélectionnée = 0
et décalage demandé vers le haut et si ligne sélectionnée = 19 et décalage
demandé vers le bas.

J'obtiens toujours la même erreur : "70 .... Accès refusé"

Est-ce un Pb de paramètre dans la ListBox ?

Merci pour les idées de solutions,

Salutations,




bonjour,

pas été voir la proc de Excelabo mais c'est sans doute parceque tu
essayes dédéplacer le 1er élément vers le haut ou le dernier élément
vers le bas. Donc pour s'en prémunir, voici entre autres une manière d'y
arriver


Private Sub BBas_Click()
Dim Suiv As String

With Me.ListBox1
If Not .ListIndex = .ListCount - 1 Then
Suiv = .List(.ListIndex + 1)
..List(.ListIndex + 1) = .List(.ListIndex)
..List(.ListIndex) = Suiv
' Resélection de l'élément déplacé
..ListIndex = .ListIndex + 1
End If
End With
End Sub

Private Sub BHaut_Click()
Dim Prec As String
With Me.ListBox1
If Not .ListIndex = 0 Then
Prec = .List(.ListIndex - 1)
..List(.ListIndex - 1) = .List(.ListIndex)
..List(.ListIndex) = Prec
' Resélection de l'élément déplacé
..ListIndex = .ListIndex - 1
End If
End With
End Sub

A+


Bonsoir à tous,

J'ai récupérer une astuce très interréssante sur www.excelabo.net (que je
conseille aux débutants comme moi), mais malheureusement j'éprouve quelques
difficultés à la faire fonctionner.

En exécutant le code, j'obtiens l'erreur suivante dans routine : Sub
BBas_Click sur la ligne : .List(.ListIndex + 1) = .List(.ListIndex)

"Erreur d'exécution 70 :
Impossible de définir la propriété List. Accès refusé"

Est-ce un paramètre à positionner dans la ListBox pour autoriser les modifs ?

Merci pour votre expertise,

Salutations,

Ci-après le code utilisé :
-----------------------
Déplacement d'éléments dans une listbox
Comment permettre à un usager de déplacer les éléments dans une listbox ?
Dans cet exemple, la listbox est nommée
LChampsChoisis.

Pour cela mets 2 boutons avec comme Caption "Vers le bas" et
Vers le haut", qui fonctionnent comme ceux permettant de régler
l'ordre de tabulation (menu "Affichage" de l'environnement VBA).

Voici le code associé à ces 2 boutons :

Private Sub BBas_Click()
Dim Suiv As String
With LChampsChoisis
Suiv = .List(.ListIndex + 1)
.List(.ListIndex + 1) = .List(.ListIndex)
.List(.ListIndex) = Suiv
' Resélection de l'élément déplacé
.ListIndex = .ListIndex + 1
End With
End Sub

Private Sub BHaut_Click()
Dim Prec As String
With LChampsChoisis
Prec = .List(.ListIndex - 1)
.List(.ListIndex - 1) = .List(.ListIndex)
.List(.ListIndex) = Prec
' Resélection de l'élément déplacé
.ListIndex = .ListIndex - 1
End With
End Sub

Pour faire passer l'élément 1 en 4, il faut cliquer 3 fois sur le bouton
"Vers le bas".
Michel Gaboly,
Ajouté ou modifié le 03/06/2004 (N°1443)








Avatar
Pierre57
Bonsoir,

Merci pour ton aide,
Malgré les différents essais, Pb identique.
Est-ce un problème lié à excel97 ?
Je te fais parvenir par mail le p'tit bout de fichier test avec la proc.

Merci pour ton expertise,

Salutations,



comme ca je ne vois pas. As tu essayé de manière brute la proc que je
t'ai communiquée ?
Si oui et que ca ne marche pas, si tu le souhaites envoyer ton fichier à


A+

Bonsoir,

J'avais effectivement ajouté un test dans la proc si ligne sélectionnée = 0
et décalage demandé vers le haut et si ligne sélectionnée = 19 et décalage
demandé vers le bas.

J'obtiens toujours la même erreur : "70 .... Accès refusé"

Est-ce un Pb de paramètre dans la ListBox ?

Merci pour les idées de solutions,

Salutations,




bonjour,

pas été voir la proc de Excelabo mais c'est sans doute parceque tu
essayes dédéplacer le 1er élément vers le haut ou le dernier élément
vers le bas. Donc pour s'en prémunir, voici entre autres une manière d'y
arriver


Private Sub BBas_Click()
Dim Suiv As String

With Me.ListBox1
If Not .ListIndex = .ListCount - 1 Then
Suiv = .List(.ListIndex + 1)
..List(.ListIndex + 1) = .List(.ListIndex)
..List(.ListIndex) = Suiv
' Resélection de l'élément déplacé
..ListIndex = .ListIndex + 1
End If
End With
End Sub

Private Sub BHaut_Click()
Dim Prec As String
With Me.ListBox1
If Not .ListIndex = 0 Then
Prec = .List(.ListIndex - 1)
..List(.ListIndex - 1) = .List(.ListIndex)
..List(.ListIndex) = Prec
' Resélection de l'élément déplacé
..ListIndex = .ListIndex - 1
End If
End With
End Sub

A+


Bonsoir à tous,

J'ai récupérer une astuce très interréssante sur www.excelabo.net (que je
conseille aux débutants comme moi), mais malheureusement j'éprouve quelques
difficultés à la faire fonctionner.

En exécutant le code, j'obtiens l'erreur suivante dans routine : Sub
BBas_Click sur la ligne : .List(.ListIndex + 1) = .List(.ListIndex)

"Erreur d'exécution 70 :
Impossible de définir la propriété List. Accès refusé"

Est-ce un paramètre à positionner dans la ListBox pour autoriser les modifs ?

Merci pour votre expertise,

Salutations,

Ci-après le code utilisé :
-----------------------
Déplacement d'éléments dans une listbox
Comment permettre à un usager de déplacer les éléments dans une listbox ?
Dans cet exemple, la listbox est nommée
LChampsChoisis.

Pour cela mets 2 boutons avec comme Caption "Vers le bas" et
Vers le haut", qui fonctionnent comme ceux permettant de régler
l'ordre de tabulation (menu "Affichage" de l'environnement VBA).

Voici le code associé à ces 2 boutons :

Private Sub BBas_Click()
Dim Suiv As String
With LChampsChoisis
Suiv = .List(.ListIndex + 1)
.List(.ListIndex + 1) = .List(.ListIndex)
.List(.ListIndex) = Suiv
' Resélection de l'élément déplacé
.ListIndex = .ListIndex + 1
End With
End Sub

Private Sub BHaut_Click()
Dim Prec As String
With LChampsChoisis
Prec = .List(.ListIndex - 1)
.List(.ListIndex - 1) = .List(.ListIndex)
.List(.ListIndex) = Prec
' Resélection de l'élément déplacé
.ListIndex = .ListIndex - 1
End With
End Sub

Pour faire passer l'élément 1 en 4, il faut cliquer 3 fois sur le bouton
"Vers le bas".
Michel Gaboly,
Ajouté ou modifié le 03/06/2004 (N°1443)