sanegone
Messages postés11Date d'inscriptionjeudi 10 novembre 2005StatutMembreDernière intervention 1 janvier 2006
-
29 déc. 2005 à 15:30
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 2006
-
30 déc. 2005 à 09:25
Bonjour à tous, voilà j'aimerai savoir si il été possible dans changer
les extensions de tout les fichiers d'un simple clique sur un boutton
command ? Si oui quelqu'un pourrait il m'aider à réaliser quelque chose
comme ça ? Je suis ce qu'on peux appeler un gros boulet du Visual et
j'essaye d'apprendre en lisant des codes. J'aimerai donc que quelqu'un
m'aide à faire parce que j'ai trouver seulement des codes pour changer
d'extension d'un fichier et pas de toux ceux d'un répertoire. Voilà en
espérant que quelqu'un pourrait m'aider ^^
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 29 déc. 2005 à 15:38
Alors voici un bout de code (au moins une idée de départ)
Dim F as string
F = Dir("c:\monpre\*.MonExtension")
While F <> ""
Msgbox F
Wend
Tu verras qu'aévec cette boucle tu parcours tous les fichiers dont l'extension est "MonExtension" dans le répertoire "c:\monrep". Il ne te reste plus qu'à y insérer le bout de code pour changer l'extension d'un fichier (dont le nom est dans la variable F) et le tour est joué
sanegone
Messages postés11Date d'inscriptionjeudi 10 novembre 2005StatutMembreDernière intervention 1 janvier 2006 29 déc. 2005 à 15:42
Merci beaucoup, mais est ce que je purrait avoir des petites
explication sur le code en lui même par exemple la ligne Wend c'est
quoi j'ai jamais encore vu ça ^^
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 29 déc. 2005 à 15:50
Ok ! On reprend avec des commentaires
' Déclaration d'une variable F de type String
Dim F as string
' On stocke dans F le nom du 1er fichier répondant au masque "c:\monpre\*.MonExtension"
F = Dir("c:\monpre\*.MonExtension")
' Tant que F n'est pas une chaine vide (Dir va nous retourner une chaine vide après le dernier ficheir qu'il trouvera = Fin de notre boucle)
While F <> ""
' Affichage du nom du fichier dans une messagebox
Msgbox F
' On cherche le nom du ficheir suivant et on le stocke dans F (je l'avais oublié celle-la
F = Dir
' Wend indique la fin du bloc d'instruction de notre boucle While (VB retourne docn sur la ligne du While a ce moment la = On tourne en rond tant que la condition de la ligne du while est vrai)
Wend
C'est OK ? (C'est vrai que j'ai été un peu brutal au 1er coup
sanegone
Messages postés11Date d'inscriptionjeudi 10 novembre 2005StatutMembreDernière intervention 1 janvier 2006 29 déc. 2005 à 15:53
Oui merci beaucoup ^^ C'est tellement plus logique quand on comprend : D, je vais essayer de travailler tout ça et je reviendrai avec le fruit de mon travail ^^, encore merci : )
Vous n’avez pas trouvé la réponse que vous recherchez ?
sanegone
Messages postés11Date d'inscriptionjeudi 10 novembre 2005StatutMembreDernière intervention 1 janvier 2006 29 déc. 2005 à 16:04
Dim F as string
F = Dir("c:\monpre\*.MonExtension")
While F <> ""
Msgbox F
F = Dir
Wend
Si maintenant je ne veux pas changer une extension précise mais mettre toutes les fichiers du répertoire dans la même extension, je pense que ça se fait au niveau de la ligne :
F = Dir("c:\monpre\*.MonExtension")
Si pour comme je l'ai dit plutot je veux changer toutes les extensions et que le répertoire peux être choisi par un explorateur Dir1 est ce que
F = Dir("Dir1")
est juste ?
En fait en relisant ça me semble bizarre ce que j'écris oO Je pense que je me trompe est ce que quelqu'un peux me dire le genre de l'erreur et ou elle se situe ? Par contre j'aimerai la corriger moi même c'est comme ça qu'on apprend ^^
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 29 déc. 2005 à 16:12
F = Dir(Dir1.Path & "\*.*")
Dir1.Path pour avoir le chemin sélectionner dans le DirListBox et concaténation avec "*.*" pour obtenir tous les fichiers de ce répertoire
sanegone
Messages postés11Date d'inscriptionjeudi 10 novembre 2005StatutMembreDernière intervention 1 janvier 2006 29 déc. 2005 à 16:29
Merci ^^ Pour le changement d'extension j'ai rencontré un petit problème. J'ai penser à quelque chose que j'ai déjà vu dans d'autres code mais pas pour ça : If then else
Mon idée :
if le fichier ne porte pas l'extention voulu
then lui donner l'extension
else ne rien faire
Je pense pas que mon résonnement soit faux là ou je bloc c'est au codage :
Comment lui indiquer "si le format ne porte pas ce format ?
La suite du code serai:
<!--StartFragment -->if ( je sais pas ce qui faudrais mettre là xD )
fileformat = "le format voulut par l'utilisateur"
else
fileformat = "le format voulut par l'utilisateur"
end if
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 30 déc. 2005 à 09:25
Ca donnerai un truc du genre
' Si le contenu de F se termine par la chaine ".MonExtension" Alors ...
If F Like "*.MonExtension" Then
'Modification de l'extension
...
Else
' Ne rien faire ici (Le Else est donc inutile)
End If
Mais vois-tu, avec un Dir bien choisi (F = Dir("C:\MonRep\*.MonExtension"), F ne contiendra jamais que des noms de fichier portant la bonne extension, le test est alors inutile