Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème avec une liste box

3 réponses
Avatar
PJ
Bonjour à tous,

J'ai une liste Box dans laquelle je fais afficher à la suite par click sur
un command button, la valeur de "design_acc". En parallèle, à chaque click,
la valeur s'incrit dans une case B1,B2,B....etc.Je me retrouve donc avec 10
lignes environ (cela varie). Le hic, c'est que comme dans toute saisie, on
fait des erreurs que je voudrais rectifier sans avoir à tout retaper donc
j'utilise:

If Me.ListBox_acc.ListIndex = True Then
MsgBox "Merci de sélectionner une ligne existante"
Else
Me.ListBox_acc.RemoveItem (Me.ListBox_acc.ListIndex)
End If

Cela marche parfaitement mais je n'arrive pas à gérer la suppression de ces
lignes dans mon tableau car il ne gère pas les lignes. Avez-vous une idée?

Merci de votre aide

3 réponses

Avatar
Daniel
Bonjour.
Si j'ai bien compris :

If Me.ListBox_acc.ListIndex = True Then
MsgBox "Merci de sélectionner une ligne existante"
Else
Set Plage = Range("B1", Range("B65536").End(xlUp))
Ctr=Application.Match(Me.ListBox_acc.Value,Plage,0)
Range("B1").Offset(Ctr - 1,0).EntireRow.Delete
Me.ListBox_acc.RemoveItem (Me.ListBox_acc.ListIndex)
End If

(Non testé)
Cordialement.
Daniel
"PJ" a écrit dans le message de news:

Bonjour à tous,

J'ai une liste Box dans laquelle je fais afficher à la suite par click sur
un command button, la valeur de "design_acc". En parallèle, à chaque
click,
la valeur s'incrit dans une case B1,B2,B....etc.Je me retrouve donc avec
10
lignes environ (cela varie). Le hic, c'est que comme dans toute saisie, on
fait des erreurs que je voudrais rectifier sans avoir à tout retaper donc
j'utilise:

If Me.ListBox_acc.ListIndex = True Then
MsgBox "Merci de sélectionner une ligne existante"
Else
Me.ListBox_acc.RemoveItem (Me.ListBox_acc.ListIndex)
End If

Cela marche parfaitement mais je n'arrive pas à gérer la suppression de
ces
lignes dans mon tableau car il ne gère pas les lignes. Avez-vous une idée?

Merci de votre aide


Avatar
PJ
Merci Daniel, ça marche très bien.
Est-il possible au lieu de retirer la ligne entière, de ne retirer que 5
colonnes( de la même ligne biensur :-)).

Merci encore de ton aide et bonne fin de journée

"Daniel" wrote:

Bonjour.
Si j'ai bien compris :

If Me.ListBox_acc.ListIndex = True Then
MsgBox "Merci de sélectionner une ligne existante"
Else
Set Plage = Range("B1", Range("B65536").End(xlUp))
Ctr=Application.Match(Me.ListBox_acc.Value,Plage,0)
Range("B1").Offset(Ctr - 1,0).EntireRow.Delete
Me.ListBox_acc.RemoveItem (Me.ListBox_acc.ListIndex)
End If

(Non testé)
Cordialement.
Daniel
"PJ" a écrit dans le message de news:

Bonjour à tous,

J'ai une liste Box dans laquelle je fais afficher à la suite par click sur
un command button, la valeur de "design_acc". En parallèle, à chaque
click,
la valeur s'incrit dans une case B1,B2,B....etc.Je me retrouve donc avec
10
lignes environ (cela varie). Le hic, c'est que comme dans toute saisie, on
fait des erreurs que je voudrais rectifier sans avoir à tout retaper donc
j'utilise:

If Me.ListBox_acc.ListIndex = True Then
MsgBox "Merci de sélectionner une ligne existante"
Else
Me.ListBox_acc.RemoveItem (Me.ListBox_acc.ListIndex)
End If

Cela marche parfaitement mais je n'arrive pas à gérer la suppression de
ces
lignes dans mon tableau car il ne gère pas les lignes. Avez-vous une idée?

Merci de votre aide







Avatar
Daniel
pour supprimer les cellules des colonnes A à E remplace :

Range("B1").Offset(Ctr - 1,0).EntireRow.Delete
par :
Range(Cells(ctr - 1, 1), Cells(ctr - 1, 1). _
Offset(ctr - 1, 5)).Delete xlShiftUp

Daniel
"PJ" a écrit dans le message de news:

Merci Daniel, ça marche très bien.
Est-il possible au lieu de retirer la ligne entière, de ne retirer que 5
colonnes( de la même ligne biensur :-)).

Merci encore de ton aide et bonne fin de journée

"Daniel" wrote:

Bonjour.
Si j'ai bien compris :

If Me.ListBox_acc.ListIndex = True Then
MsgBox "Merci de sélectionner une ligne existante"
Else
Set Plage = Range("B1", Range("B65536").End(xlUp))
Ctr=Application.Match(Me.ListBox_acc.Value,Plage,0)
Range("B1").Offset(Ctr - 1,0).EntireRow.Delete
Me.ListBox_acc.RemoveItem (Me.ListBox_acc.ListIndex)
End If

(Non testé)
Cordialement.
Daniel
"PJ" a écrit dans le message de news:

Bonjour à tous,

J'ai une liste Box dans laquelle je fais afficher à la suite par click
sur
un command button, la valeur de "design_acc". En parallèle, à chaque
click,
la valeur s'incrit dans une case B1,B2,B....etc.Je me retrouve donc
avec
10
lignes environ (cela varie). Le hic, c'est que comme dans toute saisie,
on
fait des erreurs que je voudrais rectifier sans avoir à tout retaper
donc
j'utilise:

If Me.ListBox_acc.ListIndex = True Then
MsgBox "Merci de sélectionner une ligne existante"
Else
Me.ListBox_acc.RemoveItem (Me.ListBox_acc.ListIndex)
End If

Cela marche parfaitement mais je n'arrive pas à gérer la suppression de
ces
lignes dans mon tableau car il ne gère pas les lignes. Avez-vous une
idée?

Merci de votre aide