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

Supprimer 1 élément de FileListBox ???

11 réponses
Avatar
LE TROLL
Bonjour,

Suite à mon précédent poste, j'ai trouvé comment accéder à la liste
automatiquement, mais je ne sais pas comment supprimer un élément de cette
liste, voici:
Sub Form_Activate()
Dim ligne As String, i As Long
For i = 0 To File1.ListCount - 1
If Mid(File1.List(i), 14, 7) <> "fac.txt" Then: File1.Remove i
File1.Refresh ' mal placé, question de place ici pour présenter
next i
End Sub

Le REMOVE n'est pas reconnu, une idée pour supprimer, sauf à transférer dans
une liste normale ???

--
Merci beaucoup, au revoir et à bientôt :o)
------
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------

10 réponses

1 2
Avatar
LE TROLL
Bon, ben c'est bien, je fais les question et les réponses...
J'ai fait une gestion entre file1 et list1 en passant par form_Activate, si
vous avez mieux ???

--
Merci beaucoup, au revoir et à bientôt :o)
------
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"LE TROLL" <le a écrit dans le message de news:
O29z%
Bonjour,

Suite à mon précédent poste, j'ai trouvé comment accéder à la liste
automatiquement, mais je ne sais pas comment supprimer un élément de cette
liste, voici:
Sub Form_Activate()
Dim ligne As String, i As Long
For i = 0 To File1.ListCount - 1
If Mid(File1.List(i), 14, 7) <> "fac.txt" Then: File1.Remove i
File1.Refresh ' mal placé, question de place ici pour présenter
next i
End Sub

Le REMOVE n'est pas reconnu, une idée pour supprimer, sauf à transférer
dans une liste normale ???

--
Merci beaucoup, au revoir et à bientôt :o)
------
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------




Avatar
Clive Lumb
LE TROLL wrote:
Bonjour,

Suite à mon précédent poste, j'ai trouvé comment accéder à la liste
automatiquement, mais je ne sais pas comment supprimer un élément de
cette liste, voici:
Sub Form_Activate()
Dim ligne As String, i As Long
For i = 0 To File1.ListCount - 1
If Mid(File1.List(i), 14, 7) <> "fac.txt" Then: File1.Remove i
File1.Refresh ' mal placé, question de place ici pour présenter
next i
End Sub

Le REMOVE n'est pas reconnu, une idée pour supprimer, sauf à
transférer dans une liste normale ???



As-tu essayé avec File1.Pattern ="?????????????fac.txt" ?
Avatar
LE TROLL
Non chef, je n'ai pas essayé, j'y cours, je te dis :o)

--
Merci beaucoup, au revoir et à bientôt :o)
------
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Clive Lumb" a écrit dans le message
de news: %
LE TROLL wrote:
Bonjour,

Suite à mon précédent poste, j'ai trouvé comment accéder à la liste
automatiquement, mais je ne sais pas comment supprimer un élément de
cette liste, voici:
Sub Form_Activate()
Dim ligne As String, i As Long
For i = 0 To File1.ListCount - 1
If Mid(File1.List(i), 14, 7) <> "fac.txt" Then: File1.Remove i
File1.Refresh ' mal placé, question de place ici pour présenter
next i
End Sub

Le REMOVE n'est pas reconnu, une idée pour supprimer, sauf à
transférer dans une liste normale ???



As-tu essayé avec File1.Pattern ="?????????????fac.txt" ?




Avatar
LE TROLL
Oui, mais non, lol, je ne connaissais pas "Pattern", sauf de nom, mais ça ne
me dis pas comment supprimer ensuite, étant donné que le Remove ne
fonctionne pas, ce serait peut être une des deux étapes, mais la seconde ?
--
Merci beaucoup, au revoir et à bientôt :o)
------
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Clive Lumb" a écrit dans le message
de news: %
LE TROLL wrote:
Bonjour,

Suite à mon précédent poste, j'ai trouvé comment accéder à la liste
automatiquement, mais je ne sais pas comment supprimer un élément de
cette liste, voici:
Sub Form_Activate()
Dim ligne As String, i As Long
For i = 0 To File1.ListCount - 1
If Mid(File1.List(i), 14, 7) <> "fac.txt" Then: File1.Remove i
File1.Refresh ' mal placé, question de place ici pour présenter
next i
End Sub

Le REMOVE n'est pas reconnu, une idée pour supprimer, sauf à
transférer dans une liste normale ???



As-tu essayé avec File1.Pattern ="?????????????fac.txt" ?




Avatar
Clive Lumb
LE TROLL wrote:
Oui, mais non, lol, je ne connaissais pas "Pattern", sauf de nom,
mais ça ne me dis pas comment supprimer ensuite, étant donné que le
Remove ne fonctionne pas, ce serait peut être une des deux étapes,
mais la seconde ?



Aha!
Je n'avais pigé que tu voulais carrement enlèver les fichiers de la liste.
Dans ce cas il faut en effet recopier la liste des fichiers dans une liste
"indépendante", car le seul moyen que je vois d'enlever un fichier d'un
filelist est d'éffacer le fichier lui-même.

Est-ce pour faire un traitement spécifique?
Le drag and drop (glisser-la^cher) ne pourrait-il pas convenir ??
Il y a aussi la liste avec cases à cocher qui pourrait être utile.

Au fait je viens de penser - il y a un moyen - mais c'est pas élégant.
On affiche le filelist avec les fichiers par moyen de Pattern
On récupère cette liste dans un variable().
On sélectionne les fichiers à traîter/enlever
On efface ces fichiers du variable.
On met la nouvelle liste dans le pattern, séparé par des , ou ; (je ne me
souviens plus lequel des deux), exemple .Pattern="fic1.txt, fic5.txt,..."
A mon avis cela explose si Pattern fait plus de 256 caractères.

Bon courage
Clive
Avatar
LE TROLL
Merci, bof, variable ou liste c'est pareil, j'ai en effet adopté (je crois
définitivement), le principe de jonglage entre file1 et list1 en passant par
activate... En fait, je fais une archive, mais dans ce répertoire il y a des
fichiers archives, et d'autres qui ne le sont pas, je voudrais effacer ces
derniers, ce qui est fait avec la méthode adoptée...
Oh non, juste pour une archive je ne vais pas faire un glisser, c'est plus
lourd à mettre en oeuvre, faut gérer l'icône en plus, non, c'est suffisant
pour ce que c'est...
--
Merci beaucoup, au revoir et à bientôt :o)
------
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Clive Lumb" a écrit dans le message
de news:
LE TROLL wrote:
Oui, mais non, lol, je ne connaissais pas "Pattern", sauf de nom,
mais ça ne me dis pas comment supprimer ensuite, étant donné que le
Remove ne fonctionne pas, ce serait peut être une des deux étapes,
mais la seconde ?



Aha!
Je n'avais pigé que tu voulais carrement enlèver les fichiers de la liste.
Dans ce cas il faut en effet recopier la liste des fichiers dans une liste
"indépendante", car le seul moyen que je vois d'enlever un fichier d'un
filelist est d'éffacer le fichier lui-même.

Est-ce pour faire un traitement spécifique?
Le drag and drop (glisser-la^cher) ne pourrait-il pas convenir ??
Il y a aussi la liste avec cases à cocher qui pourrait être utile.

Au fait je viens de penser - il y a un moyen - mais c'est pas élégant.
On affiche le filelist avec les fichiers par moyen de Pattern
On récupère cette liste dans un variable().
On sélectionne les fichiers à traîter/enlever
On efface ces fichiers du variable.
On met la nouvelle liste dans le pattern, séparé par des , ou ; (je ne me
souviens plus lequel des deux), exemple .Pattern="fic1.txt, fic5.txt,..."
A mon avis cela explose si Pattern fait plus de 256 caractères.

Bon courage
Clive





Avatar
Patrice Henrio
En fait dans une liste on ne peut pas utiliser for next pour effacer des
éléments de la liste car dans ce cas la borne de la boucle est modifiée par
un traitement Remove.

Ainsi pour effacer tous les éléments d'une liste il faut faire

while List.Count>0
List.remove List.Count
wend

Pour effacer certains éléments

I=0
While I<List.Count
If ElémentASupprimer(List(I)) then
List.remove I
'attention tous les index sont diminués de 1 à partir de là, I+1
devient I ...
'donc on ne change pas I
else
I=I+1
end If
Wend

"LE TROLL" <le a écrit dans le message de news:

Merci, bof, variable ou liste c'est pareil, j'ai en effet adopté (je crois
définitivement), le principe de jonglage entre file1 et list1 en passant
par activate... En fait, je fais une archive, mais dans ce répertoire il y
a des fichiers archives, et d'autres qui ne le sont pas, je voudrais
effacer ces derniers, ce qui est fait avec la méthode adoptée...
Oh non, juste pour une archive je ne vais pas faire un glisser, c'est plus
lourd à mettre en oeuvre, faut gérer l'icône en plus, non, c'est suffisant
pour ce que c'est...
--
Merci beaucoup, au revoir et à bientôt :o)
------
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Clive Lumb" a écrit dans le
message de news:
LE TROLL wrote:
Oui, mais non, lol, je ne connaissais pas "Pattern", sauf de nom,
mais ça ne me dis pas comment supprimer ensuite, étant donné que le
Remove ne fonctionne pas, ce serait peut être une des deux étapes,
mais la seconde ?



Aha!
Je n'avais pigé que tu voulais carrement enlèver les fichiers de la
liste.
Dans ce cas il faut en effet recopier la liste des fichiers dans une
liste
"indépendante", car le seul moyen que je vois d'enlever un fichier d'un
filelist est d'éffacer le fichier lui-même.

Est-ce pour faire un traitement spécifique?
Le drag and drop (glisser-la^cher) ne pourrait-il pas convenir ??
Il y a aussi la liste avec cases à cocher qui pourrait être utile.

Au fait je viens de penser - il y a un moyen - mais c'est pas élégant.
On affiche le filelist avec les fichiers par moyen de Pattern
On récupère cette liste dans un variable().
On sélectionne les fichiers à traîter/enlever
On efface ces fichiers du variable.
On met la nouvelle liste dans le pattern, séparé par des , ou ; (je ne me
souviens plus lequel des deux), exemple .Pattern="fic1.txt, fic5.txt,..."
A mon avis cela explose si Pattern fait plus de 256 caractères.

Bon courage
Clive









Avatar
Vincent Guichard
Patrice Henrio a écrit :
Pour effacer certains éléments

I=0
While I<List.Count
If ElémentASupprimer(List(I)) then
List.remove I
'attention tous les index sont diminués de 1 à partir de là, I+1
devient I ...
'donc on ne change pas I
else
I=I+1
end If
Wend



On peut aussi compter "à l'envers", puisque seuls les éléments placés
après voient leur index changé.

For I = List.Count To 1 Step -1
If ElementASupprimer(List(I)) then
List.Remove I
End if
Next I

Vincent Guichard
Avatar
Patrice Henrio
Tout à fait, mais je souhaitais que l'on comprenne bien pourquoi le for next
n'était pas adapté.


"Vincent Guichard" a écrit dans le message de
news: 453510e8$0$5084$
Patrice Henrio a écrit :
Pour effacer certains éléments

I=0
While I<List.Count
If ElémentASupprimer(List(I)) then
List.remove I
'attention tous les index sont diminués de 1 à partir de là,
I+1 devient I ...
'donc on ne change pas I
else
I=I+1
end If
Wend



On peut aussi compter "à l'envers", puisque seuls les éléments placés
après voient leur index changé.

For I = List.Count To 1 Step -1
If ElementASupprimer(List(I)) then
List.Remove I
End if
Next I

Vincent Guichard


Avatar
LE TROLL
Bonsoir, merci, mais y a un quiproquo, je parle d'une liste fileListBox (qui
va avec DirListBox et DriveListBox), ça n'accepte pas le remove... Sinon, en
effet ça modifie l'index de la liste le remove, faut faire depuis le bas
avec un step-1

--
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Patrice Henrio" a écrit dans le message de
news:
En fait dans une liste on ne peut pas utiliser for next pour effacer des
éléments de la liste car dans ce cas la borne de la boucle est modifiée
par un traitement Remove.

Ainsi pour effacer tous les éléments d'une liste il faut faire

while List.Count>0
List.remove List.Count
wend

Pour effacer certains éléments

I=0
While I<List.Count
If ElémentASupprimer(List(I)) then
List.remove I
'attention tous les index sont diminués de 1 à partir de là,
I+1 devient I ...
'donc on ne change pas I
else
I=I+1
end If
Wend

"LE TROLL" <le a écrit dans le message de news:

Merci, bof, variable ou liste c'est pareil, j'ai en effet adopté (je
crois définitivement), le principe de jonglage entre file1 et list1 en
passant par activate... En fait, je fais une archive, mais dans ce
répertoire il y a des fichiers archives, et d'autres qui ne le sont pas,
je voudrais effacer ces derniers, ce qui est fait avec la méthode
adoptée...
Oh non, juste pour une archive je ne vais pas faire un glisser, c'est
plus lourd à mettre en oeuvre, faut gérer l'icône en plus, non, c'est
suffisant pour ce que c'est...
--
Merci beaucoup, au revoir et à bientôt :o)
------
Site éditeur MES ROMANS édités
http://www.manuscritdepot.com/a.joseph-attila-pusztay.1.htm
Site de MES LOGICIELS
http://irolog.free.fr
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Clive Lumb" a écrit dans le
message de news:
LE TROLL wrote:
Oui, mais non, lol, je ne connaissais pas "Pattern", sauf de nom,
mais ça ne me dis pas comment supprimer ensuite, étant donné que le
Remove ne fonctionne pas, ce serait peut être une des deux étapes,
mais la seconde ?



Aha!
Je n'avais pigé que tu voulais carrement enlèver les fichiers de la
liste.
Dans ce cas il faut en effet recopier la liste des fichiers dans une
liste
"indépendante", car le seul moyen que je vois d'enlever un fichier d'un
filelist est d'éffacer le fichier lui-même.

Est-ce pour faire un traitement spécifique?
Le drag and drop (glisser-la^cher) ne pourrait-il pas convenir ??
Il y a aussi la liste avec cases à cocher qui pourrait être utile.

Au fait je viens de penser - il y a un moyen - mais c'est pas élégant.
On affiche le filelist avec les fichiers par moyen de Pattern
On récupère cette liste dans un variable().
On sélectionne les fichiers à traîter/enlever
On efface ces fichiers du variable.
On met la nouvelle liste dans le pattern, séparé par des , ou ; (je ne
me
souviens plus lequel des deux), exemple .Pattern="fic1.txt,
fic5.txt,..."
A mon avis cela explose si Pattern fait plus de 256 caractères.

Bon courage
Clive













1 2