Création de dossiers

  • Initiateur de la discussion Delirum
  • Date de début
D

Delirum

Guest
Bonjours tous le monde.

Pour mon boulo, j'aurai besoin de créer une application qui me permetrai de nomer les dossiers de manière identique.

Je m'explique.

Nous avons un réseau info avec un disque en commun, sur lequel nous venons y déposer nos dossiers. Ces dossiers sont classés avec une numérotation à 4 chiffres puis le nom du dossier.
Le problème est que lorsque l'on a un dossier numéroté par exemple 80, certain vont le nomé 80, d'autre 080 ou encore 0080. Si bien que lorsque l'on recherche un dossier par nom, il ne sont pas bien classés.

Je voudrais donc créer une fonction sous excel pour créer un "nouveau dossier" avec 4 cases obligatoire a remplir pour la numérotation et une case obligatoire pour le nom.

Le probléme est que je ne sais pas du tout comment réaliser cela (je débute totalement en VBA). Et je me demande si il est possible de créer un "nouveau dossier" en VBA (il doit êrte nécessaire de réaliser cela en VB plutot qu'en VBA).


Merci et A+
 
Y

yeahou

Guest
Bonjour Delirium, le Forum

le plus simple pour ton cas est de concaténer le numéro utilisateur avec des zéros et d'extraire la chaine qui t'interresse.
avec Num_Fichier integer et Num_Fichier_Str string
Num_Fichier_Str=right("000000" & Num_Fichier,6)
pour avoir une chaine texte représentant un chiffre sur 6 caractères
pour créer un nouveau dossier, c'est
MkDir path
pour effacer un dossier, c'est
RmDir path
pour avoir le répertoire actif d'un lecteur
CurDir[(drive)]
pour changer de dossier
ChDir path
pour changer de disque
ChDrive drive
pour avoir le disque sur lequel est enregistré un fichier
object.Drive
il y en a d'autres que tu trouveras sans mal dans l'aide

Cordialement, A+
 
Y

yeahou

Guest
Bonjour Delirium, le Forum

une autre solution sans concaténation.
avec Num_Fichier integer et Num_Fichier_Str string

Num_Fichier_Str = Format(Num_Fichier, "000000")
pour avoir une chaine texte représentant un chiffre sur 6 caractères

Num_Fichier_Str = Format(Num_Fichier, "0000")
pour avoir une chaine texte représentant un chiffre sur 4 caractères

A+
 
D

delirum

Guest
Salut yeahou.

Je te remercie de ton aide, mais je n'ais pas compris ou placer les codes que tu m'as donner (suis débutant en VBA).

J'ai joint un fichier pour que tu comprenne mieu ce que je voudrais réaliser.

Dans ce fichier, j'ai créé un bouton nouveau dossier qui donne acces à l'userform tel que je voudrai qu'il ce présente.

Je voudrais que dans le combobox1 l'utilisateur puisse entrer ou selectionner le chemin ou sera créer le dossier (par exemple :"D:\Consomations").

Ensuite, l'utilisateur entre le numéro EI (ensemble immobilier) a 4 chiffres puis le nom du site.

En cliquant sur "OK" le nouveau dossier et créer sur le disque D dans le dossier existant Consomations.

Voila, j'espère que tu pourra me filer un ptit coup de main.

Merci et A+
 

Pièces jointes

  • NouveauDossier.zip
    7.6 KB · Affichages: 22
Y

Yeahou

Guest
Bonjour Delirum, le Forum, tout le mondum

la pièce jointe fait ce que tu désires. Les chemins pré définis sont notés dans la feuille chemins. Il te faudra ajouter des tests sur la présence des valeurs.

A+
 

Pièces jointes

  • creationEI.zip
    13.2 KB · Affichages: 29
  • creationEI.zip
    13.2 KB · Affichages: 31
  • creationEI.zip
    13.2 KB · Affichages: 26
D

delirum

Guest
Re salut Yeahou.

T'es un chef, je te remercie de t'on aide (et mes collégues aussi, qui ont besoin de cette applications).

Pour ce qui est d'"ajouter des tests sur la présence des valeurs", qu'est ce que tu entend par là ?

J'ai essayer ton fichier excel sa marche nickel. Mise à part que dans les case de numérot de dossier, lorsque l'on tape plusieur chiffre au lieu d'un seul, il y à un bug. Ne peut on pas blocquer la saisi à un chiffre par case.

Autre chose, je voudrais que lors de la création du dossier, apparaisse dans le nom du dossier, les lettres "EI" suivient d'un espace avant le numéro de dossier.

Mon collégue me demande aussi si pour choisir le chemin, il n'est pas possible de créer un bouton "Parcourir" pour selectionner le chemin (comme sur la pluspart de logiciels).


Encore une fois merci de ta précieuse aide.

A+
 
Y

yeahou

Guest
Re bonjour delirum

Par ajouter des tests sur la présence de valeurs, cela veut dire simplement t'assurer que tes controls contiennent du texte et que ce texte peut être utilisé en nom de dossier. Voici ton fichier modifié avec saisie bloquée à un caractère et les lettres EI. Pour ce qui est de parcourir, le faire pour un fichier, c'est facile mais pour un dossier, je ne connais pas.

Cordialement, A+
 

Pièces jointes

  • creationEI.zip
    12.8 KB · Affichages: 34
  • creationEI.zip
    12.8 KB · Affichages: 28
  • creationEI.zip
    12.8 KB · Affichages: 32
M

myDearFriend

Guest
Bonsoir Delirium, yeahou.

Si tu possèdes Excel 2002 (ou ultérieur), tu peux utiliser l'objet FileDialog pour parcourir et récupérer ainsi le chemin d'un dossier :

With Application.FileDialog(msoFileDialogFolderPicker)
.ButtonName = "Choix Dossier"
.InitialFileName = ThisWorkbook.Path & "\"
.Title = "Choisissez le dossier et cliquez sur le bouton ""Choix Dossier"""
.Show
If .SelectedItems.Count > 0 Then
MsgBox "Vous avez sélectionné :" & vbCrLf & .SelectedItems(1)
End If
End With


Tu choisis le dossier dans la boite de dialogue et tu cliques sur le bouton "Choix Dossier"

Cordialement,
Didier_mDF
 

Discussions similaires

Réponses
18
Affichages
764

Membres actuellement en ligne

Statistiques des forums

Discussions
312 504
Messages
2 089 070
Membres
104 018
dernier inscrit
Mzghal