OVH Cloud OVH Cloud

ListBox

9 réponses
Avatar
Patrick
Bonjour à tous,
J'aimerai sélectionner un fichier pat.001 ou pat.002 etc. ...dans une
ListBox pour après renommer ce fichier en
titi.A01.
Ma question est ce que ListBox est approprié pour cette fonction, et comment
faire ?
Merci.à bientôt.

9 réponses

Avatar
Jean-Marc
"Patrick" a écrit dans le message de
news:%
Bonjour à tous,



Hello,

J'aimerai sélectionner un fichier pat.001 ou pat.002 etc. ...dans une
ListBox pour après renommer ce fichier en
titi.A01.



1/ quels fichiers sont à mettre dans la list box?
- viennent t'ils tous du même répertoire ?
2/ Le nom pour renommer
- il va etre choisi par l'utilisateur ?
- ce doit etre un nom calculé ?
- faut il juste renommer ou aussi déplacer dans un autre répertoire?

Ma question est ce que ListBox est approprié pour cette fonction, et


comment
faire ?



Pourquoi pas une listbox, oui.

Pour remplir la listbox, ça dépend de la réponse à 1/
Pour renommer, foir les fonctions Name et FileCopy

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
Patrick
Bonjour à tous,

1/ quels fichiers sont à mettre dans la list box?


Les fichiers à mettre dans la ListBox sont tous les fichiers du répertoire
TOTO qui commence par PAT.*
- viennent t'ils tous du même répertoire ?


Oui les fichiers sont dans le même répertoire C:TOTO
2/ Le nom pour renommer
- il va être choisi par l'utilisateur ?
Non
- ce doit être un nom calculé ?
Pour ne pas me tromper je renommerai en TITI.A01 TITI.A02 TITI.A03 au bout
de 99 c'est a dire TITI.A99
il recommence après à TITI.A01 en effacent l'ancien fichier et toujours
dans le même répertoire.
Le fichier renommé ce trouvera toujours dans le même répertoire à la fin .
Merci pour la réponse
A bientôt.




"Jean-Marc" a écrit dans le message de news:
4178ccd1$0$22736$
"Patrick" a écrit dans le message de
news:%
Bonjour à tous,



Hello,

J'aimerai sélectionner un fichier pat.001 ou pat.002 etc. ...dans une
ListBox pour après renommer ce fichier en
titi.A01.



1/ quels fichiers sont à mettre dans la list box?
- viennent t'ils tous du même répertoire ?
2/ Le nom pour renommer
- il va etre choisi par l'utilisateur ?
- ce doit etre un nom calculé ?
- faut il juste renommer ou aussi déplacer dans un autre répertoire?

Ma question est ce que ListBox est approprié pour cette fonction, et


comment
faire ?



Pourquoi pas une listbox, oui.

Pour remplir la listbox, ça dépend de la réponse à 1/
Pour renommer, foir les fonctions Name et FileCopy

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."




Avatar
ng
Salut,

Dans ce cas utilise une FileListBox :

Option Explicit

Private Sub File1_Click()
If File1.ListIndex > -1 Then
Name "c:temp" & File1.FileName As "c:tempnouveau nom.txt"
End If
End Sub

Private Sub Form_Load()
File1.Path = "c:temp"
Call File1.Refresh
End Sub

Il faudra bien entendu vérifier la présence du fichier "c:tempnouveau
nom.txt" avant de poursuivre le renommage...
Je te laisse également le soin de prévoir le nouveau nom du fichier.


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrick wrote:
Bonjour à tous,

1/ quels fichiers sont à mettre dans la list box?


Les fichiers à mettre dans la ListBox sont tous les fichiers du
répertoire TOTO qui commence par PAT.*
- viennent t'ils tous du même répertoire ?


Oui les fichiers sont dans le même répertoire C:TOTO
2/ Le nom pour renommer
- il va être choisi par l'utilisateur ?
Non
- ce doit être un nom calculé ?
Pour ne pas me tromper je renommerai en TITI.A01 TITI.A02 TITI.A03 au
bout de 99 c'est a dire TITI.A99
il recommence après à TITI.A01 en effacent l'ancien fichier et
toujours dans le même répertoire.
Le fichier renommé ce trouvera toujours dans le même répertoire à la
fin . Merci pour la réponse
A bientôt.




"Jean-Marc" a écrit dans le message de
news: 4178ccd1$0$22736$
"Patrick" a écrit dans le message de
news:%
Bonjour à tous,



Hello,

J'aimerai sélectionner un fichier pat.001 ou pat.002 etc. ...dans
une ListBox pour après renommer ce fichier en
titi.A01.



1/ quels fichiers sont à mettre dans la list box?
- viennent t'ils tous du même répertoire ?
2/ Le nom pour renommer
- il va etre choisi par l'utilisateur ?
- ce doit etre un nom calculé ?
- faut il juste renommer ou aussi déplacer dans un autre
répertoire?
Ma question est ce que ListBox est approprié pour cette fonction,
et comment faire ?



Pourquoi pas une listbox, oui.

Pour remplir la listbox, ça dépend de la réponse à 1/
Pour renommer, foir les fonctions Name et FileCopy

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."




Avatar
Patrick
Bonjour à tous
Comment doit je faire pour changer l'extension de fichier à chaque
renommage?
Exp:
titi.A00 titi.A01 ....... titi.A04 puis arrivé à titi.A04 repartir sur
titi.A00 ...( pour toujours avoir un historique de 4 ou 5 fichiers)
ci-dessous mon petit fichier.
Merci, à bientôt.


Option Explicit

Private Sub Command1_Click()
' Convertir
If File1.ListIndex > -1 Then
FileCopy "c:toto" & File1.FileName, "c:tototiti.A00"
' Name " C:toto" & File1.FileName As "c:tototiti.a01"
Else
MsgBox ("Veuillez sélectionner un fichier !"), vbExclamation
End If
End Sub

Private Sub Command2_Click()
' Quitter
End
End Sub

Private Sub Form_Load()
File1.Pattern = "pat.*"
File1.Path = "c:toto"
Call File1.Refresh
End Sub
















"ng" a écrit dans le message de news:

Salut,

Dans ce cas utilise une FileListBox :

Option Explicit

Private Sub File1_Click()
If File1.ListIndex > -1 Then
Name "c:temp" & File1.FileName As "c:tempnouveau nom.txt"
End If
End Sub

Private Sub Form_Load()
File1.Path = "c:temp"
Call File1.Refresh
End Sub

Il faudra bien entendu vérifier la présence du fichier "c:tempnouveau
nom.txt" avant de poursuivre le renommage...
Je te laisse également le soin de prévoir le nouveau nom du fichier.


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrick wrote:
Bonjour à tous,

1/ quels fichiers sont à mettre dans la list box?


Les fichiers à mettre dans la ListBox sont tous les fichiers du
répertoire TOTO qui commence par PAT.*
- viennent t'ils tous du même répertoire ?


Oui les fichiers sont dans le même répertoire C:TOTO
2/ Le nom pour renommer
- il va être choisi par l'utilisateur ?
Non
- ce doit être un nom calculé ?
Pour ne pas me tromper je renommerai en TITI.A01 TITI.A02 TITI.A03 au
bout de 99 c'est a dire TITI.A99
il recommence après à TITI.A01 en effacent l'ancien fichier et
toujours dans le même répertoire.
Le fichier renommé ce trouvera toujours dans le même répertoire à la
fin . Merci pour la réponse
A bientôt.




"Jean-Marc" a écrit dans le message de
news: 4178ccd1$0$22736$
"Patrick" a écrit dans le message de
news:%
Bonjour à tous,



Hello,

J'aimerai sélectionner un fichier pat.001 ou pat.002 etc. ...dans
une ListBox pour après renommer ce fichier en
titi.A01.



1/ quels fichiers sont à mettre dans la list box?
- viennent t'ils tous du même répertoire ?
2/ Le nom pour renommer
- il va etre choisi par l'utilisateur ?
- ce doit etre un nom calculé ?
- faut il juste renommer ou aussi déplacer dans un autre
répertoire?
Ma question est ce que ListBox est approprié pour cette fonction,
et comment faire ?



Pourquoi pas une listbox, oui.

Pour remplir la listbox, ça dépend de la réponse à 1/
Pour renommer, foir les fonctions Name et FileCopy

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."








Avatar
Jean-Marc
"Patrick" a écrit dans le message de
news:
Bonjour à tous
Comment doit je faire pour changer l'extension de fichier à chaque
renommage?
Exp:
titi.A00 titi.A01 ....... titi.A04 puis arrivé à titi.A04 repartir sur
titi.A00 ...( pour toujours avoir un historique de 4 ou 5 fichiers)
ci-dessous mon petit fichier.
Merci, à bientôt.



Hello,
une idée est de stocker le dernier numéro utilisé
dans un petit fichier supplémentaire. Au démarrage
de ton programme, tu lis ce fichier, qui te donne
le dernier numéro utilisé. Tu stockes ce nombre
dans une variable. A chaque renommage, tu dois
incrémenter ce numéro de 1, en appliquant un modulo
du nombre de fichiers que tu souhaites garder. Puis
quand tu quittes, tu sauvegarde dans le petit fichier
supplémentaire le numéro courant. Et le tour est joué.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
Gloops
Salut, tu devrais quand même jeter un coup d'oeil là :
http://www.mvps.org/accessfr/apis/api0001.htm

Pour compatibilité avec VB6, il faut remplacer la ligne
If IsMissing(hwnd) Then hwnd = Application.hWndAccessApp
par
If IsMissing(hwnd) Then hwnd = 0

ou peut-être essayer en la supprimant carrément.

Attention, là où strFilter est initialisé, modifier pour l'initialiser à
"pat.*", pour n'afficher que les fichiers correspondant à ce filtre.

Il faut aussi placer cette valeur dans OFN.strFile

Pour faire cela, un moyen assez simple. Dans GetOpenFile ajoute la
dernière ligne ci-dessous, à l'endroit où tu reconnaitras les
précédentes (attention d'ajuster la fin de l'avant-dernière) :

OpenFile:=True, _
InitialDir:=varDirectory, _
Filter:=strFilter, _
Flags:=lngFlags, _
DialogTitle:=varTitleForDialog, _
FileName:=strFilter)

Ainsi tu te réfères au filtre, et la fonction peut être réutilisée dans
un autre contexte.

Tu appelleras
strNomFichier = GetOpenFile("C:Repertoire", "Quel fichier voulez-vous
renommer ?")

Une fois que l'utilisateur a sélectionné un des fichiers, son nom est
retourné par la fonction, donc tu peux le renommer avec
Name strNomFichier As "titi.A" + Right$(strNomFichier, 2)

Normalement j'ai indiqué les modifications à effectuer. Si j'ai oublié
quelque chose, un coup d'oeil dans MSDN à l'aide de la structure
OPENFILENAME peut être utile.
______________________________________
Patrick a écrit, le 22/10/2004 09:05 :

Bonjour à tous,
J'aimerai sélectionner un fichier pat.001 ou pat.002 etc. ...dans une
ListBox pour après renommer ce fichier en
titi.A01.
Ma question est ce que ListBox est approprié pour cette fonction, et comment
faire ?
Merci.à bientôt.




Avatar
Jean-Marc
"Jean-Marc" a écrit dans le message de
news:417a4710$0$22739$
"Patrick" a écrit dans le message de
news:
> Bonjour à tous
> Comment doit je faire pour changer l'extension de fichier à chaque
> renommage?
> Exp:
> titi.A00 titi.A01 ....... titi.A04 puis arrivé à titi.A04 repartir


sur
> titi.A00 ...( pour toujours avoir un historique de 4 ou 5 fichiers)
> ci-dessous mon petit fichier.
> Merci, à bientôt.

Hello,
une idée est de stocker le dernier numéro utilisé
dans un petit fichier supplémentaire. Au démarrage
de ton programme, tu lis ce fichier, qui te donne
le dernier numéro utilisé. Tu stockes ce nombre
dans une variable. A chaque renommage, tu dois
incrémenter ce numéro de 1, en appliquant un modulo
du nombre de fichiers que tu souhaites garder. Puis
quand tu quittes, tu sauvegarde dans le petit fichier
supplémentaire le numéro courant. Et le tour est joué.




Le petit code suivant illustre ceci. Il faut juste
une forme, un bouton de commande (Command1) et un
label (Label1).
Voici le code:

Option Explicit

Public counter As Integer ' store the current value of the counter
Const N_FIC = 5 ' nb versions before reset to zero
'
' Returns 0 if the counter file was successfully read
' Else, returns err.number and set counter to zero (default)
' Assume the name of the file for the counter is "counter.fic",
' in the local directory
Public Function ReadCounter() As Integer
Dim f As Integer
Dim ficname As String

On Error GoTo read_counter_error
ficname = App.Path & "counter.fic"
f = FreeFile
Open ficname For Input As #f
Input #f, counter
Close #f
ReadCounter = 0
read_counter_ok:
Exit Function
read_counter_error:
counter = 0
ReadCounter = Err.Number
Resume read_counter_ok
End Function

'
' Returns 0 if the counter file was successfully written
' Else, returns err.number
' Assume the name of the file for the counter is "counter.fic",
' in the local directory
Public Function SaveCounter() As Integer
Dim f As Integer
Dim ficname As String
On Error GoTo save_counter_error
ficname = App.Path & "counter.fic"
f = FreeFile
Open ficname For Output As #f
Print #f, counter
Close #f
SaveCounter = 0 ' Success
save_counter_ok:
Exit Function
save_counter_error:
SaveCounter = Err.Number
Resume save_counter_ok
End Function

'
' returns the next value for the counter
' increment by one and apply modulo N_FIC
' to reset to zero after N_FIC
Public Function GetNextCounterValue() As Integer
GetNextCounterValue = counter
counter = (counter + 1) Mod N_FIC
End Function

'
' Rename the text in label1 (the part after the dot)
'
' we also assume that the counter will never be greater than 99
' meaning that N_FIC will always be <™
'
Private Sub Command1_Click()
Dim ext As String
Dim v As Integer
Dim s As String

v = GetNextCounterValue()
If Len(Trim$(Str$(v))) = 1 Then
ext = "A0" & Trim$(Str$(v))
Else
ext = "A" & Trim$(Str$(v))
End If

s = Mid$(Label1.Caption, 1, InStr(Label1.Caption, ".") - 1)
s = s & "." & ext
Label1.Caption = s
End Sub

Private Sub Form_Load()
Dim r As Integer

r = ReadCounter()
If r = 0 Then
MsgBox "counter initialized from file. Current value : " & counter
Else
If r = 53 Then ' error for file not found
' let assume it was the first time
' the program was started
MsgBox "First program use. Counter = " & counter
Else
' we can decide what must be done
' here, we just continue
MsgBox "unexepected error code: " & r & ". counter = " & counter
End If
End If
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim r As Integer

r = SaveCounter()
If r = 0 Then ' success, just quit
' nothing to do
MsgBox "counter file saved. Value of counter=" & counter
Else
' here we could decide a specific statement for this error
MsgBox "an error occured while saving. code=" & r & ". Quit"
End If
End Sub

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
Patrick
Bonjour à tous
Merci à Jean Marc pour le code qui fonctionne trés bien merci.
Je n'aurai pas pu trouvé seule.

Merci à bientôt.
Avatar
Jean-Marc
"Patrick" a écrit dans le message de
news:
Bonjour à tous
Merci à Jean Marc pour le code qui fonctionne trés bien merci.
Je n'aurai pas pu trouvé seule.

Merci à bientôt.



Content d'avoir pu t'aider.
bonne prog.
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."