OVH Cloud OVH Cloud

pb creation de dossier avec userform

15 réponses
Avatar
damgui
Bonjour chers amis !

damgui est de retour de vacance !!!
entre temps, j ai pu lire un petit bouquin sur du vba !!! eh oui !!

bon voila je vous expose un pb

dans une feuille excel :

j'ai un useform qui s'active à l'ouverture à l'ouverture du dossier
(workbook open)
quand je clic sur le bouton creer dossier de cet useform:
j ai un second useform qui apparait avec un textbox pour nommer un nom de
fichier

voila ce que j'essaye de faire

Quand je rentre le nom "nomdufichier1" dans le textbox de mon second useform
je veux qu'il s'inscrive dans la feuille1 cellule A1 "nomdu fichier1"
puis il me creer le repertoire c:\gestion\nomdufichier1

Ensuite par exemple
je reouvre le fichier puis je click sur bouton creer dossier
je marque dans mon textbox "dossier2"

il devra inscrire le nom du repertoire dans la feuille1 mais en cellule A2
car A1 contient deja "nomdufichier1"
puis il me creer le repertoire c:\gestion\dossier2

Quelqu'un pourrait m'aider

Merci

damgui

5 réponses

1 2
Avatar
JLuc
*Bonjour damgui*,


bonjour jluc !!!


les vacances ont été coourte sur oleron !!!
du sale temps !!!


tu as completement raison, je n avait pas du tout pensé au pb du dossier
existant et des doublons
___
( o ! o)
^

mon bouton "creer dossier" de mon useform1 appelle
donc mon useform2 qui possede le textbox1 ou je rentre le nom

je rentre ce script vba sur mon bouton ok de l'useform2 ?

Sheets("Feuille1").Range("A65536").End(3) = Textbox1
MkDir "c:gestion" & userform.Textbox1


Oui, pour cela, il faut ajouter un bouton "Ok" mais aussi un bonton
"Annuler" au cas ou



2° Comment gerer le refus de sauvegarde si le dossier existe deja?


'Dans le code du bouton "Ok" (CommandButton1) :

Private Sub CommandButton1_Click()
Dim flag As Boolean
flag = False
If TextBox1 <> "" Then
With Sheets("Feuil1")
For Each cel In .Range("A2:A" & .Range("A65536").End(3).Row)
If cel = TextBox1 Then flag = True
Next
If flag Then 'Le dossier exist
MsgBox "Dossier deja créé !"
TextBox1 = ""
TextBox1.SetFocus
Else
.Range("A65536").End(3) = TextBox1
MkDir "c:gestion" & TextBox1
End If
End With
End If
End Sub

'Dans le code du bouton "Annuler" (CommandButton2) :

Private Sub CommandButton2_Click()
Unload Me
bureau.Show
End Sub



merci de ton aide


damgui


-- ____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O




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

*Bonjour damgui*,
dans la macro de creation du dossier :

Sheets("Feuille1").Range("A65536").End(3) = Textbox1
MkDir "c:gestion" & userform.Textbox1

Mais attention, prevoir la gestion d'erreur pour le cas où le dossier à
créer est déjà présent !


Bonjour chers amis !

damgui est de retour de vacance !!!
entre temps, j ai pu lire un petit bouquin sur du vba !!! eh oui !!

bon voila je vous expose un pb

dans une feuille excel :

j'ai un useform qui s'active à l'ouverture à l'ouverture du dossier
(workbook open)
quand je clic sur le bouton creer dossier de cet useform:
j ai un second useform qui apparait avec un textbox pour nommer un nom de
fichier

voila ce que j'essaye de faire

Quand je rentre le nom "nomdufichier1" dans le textbox de mon second
useform
je veux qu'il s'inscrive dans la feuille1 cellule A1 "nomdu fichier1"
puis il me creer le repertoire c:gestionnomdufichier1

Ensuite par exemple
je reouvre le fichier puis je click sur bouton creer dossier
je marque dans mon textbox "dossier2"

il devra inscrire le nom du repertoire dans la feuille1 mais en cellule A2
car A1 contient deja "nomdufichier1"
puis il me creer le repertoire c:gestiondossier2

Quelqu'un pourrait m'aider

Merci

damgui


-- ____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O





--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O



Avatar
damgui
rebonjour jean luc

Ca marche impeccable
c est exactement ce que j attendais

une note supplementaire

avec le script
Private Sub CommandButton1_Click()
Dim flag As Boolean
flag = False
If TextBox1 <> "" Then
With Sheets("Feuil1")
For Each cel In .Range("A2:A" & .Range("A65536").End(3).Row)
If cel = TextBox1 Then flag = True
Next
If flag Then 'Le dossier exist
MsgBox "Dossier deja créé !"
TextBox1 = ""
TextBox1.SetFocus
Else
.Range("A65536").End(3) = TextBox1
MkDir "c:gestion" & TextBox1
End If
End With
End If
End Sub

quand je créer le dossier"dos1" il met bien la feuille A1 le nom du dossier


je referme le dossier et je le réouvre et je creer un nouveau dossier "dos2"
il met "dos2" en A1 et remplace l'ancien
j'aurais souhaité garder en cellule A1 "DOS1"
et ensuite en A2 (puisque c'est le dossier 2) "DOS2

MERCI DE TON AIDE

Damgui


Avatar
lSteph
Voici sans besoin de userforms exemple:
http://cjoint.com/?iuroBW6JCf

dans le dialogfolder pour la suppression d'un dossier, clic droit supprimer

Cordialement.


lSteph

"damgui" a écrit dans le message de news:
44e86c74$0$19183$
bonjour steph

j ai déposer le fichier sur ce lien

http://dl-1.free.fr/52616e646f6d495600c880001d044609708b76ce8e046eebbdfc40fb2e59e00c/bureau.xls

je travaille sur l useform creer dossier

merci de ton aide

damgui


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

re,
...
j'ignore le contenu exact de ton fichier (http://cjoint.com), des macros
et userforms qui sont dedans
....
le code que j'ai mis dans le thisworkbook est réutilisable ailleurs,
suffit d'adapter le code et les variables
Dans l'exemple il y a Public chemin
donc une seule globale.

Cordialement..

lSteph

"damgui" a écrit dans le message de news:
44e867ad$0$19153$
bonjour isteph

j ai regardé ton fichier
mais ca ne me convient pas du tout

lorsque j ai mon 2ème useform actif

je dois inscrire le nom du repertoire "dossier1" dans un textbox puis
valider

en validant,
il mets en dans la feuille1 en cellule A1 le nom du repertoire puis
creer automatiquement le dossier dans C:gestion

si je reouvre le dossier, puis je recreer un dossier

lorsque j ai mon 2ème useform actif

je dois inscrire le nom du repertoire "dossier2" dans un textbox puis
valider

en validant,
il mets en dans la feuille1 en cellule A2 le nom du repertoire puis
creer automatiquement le dossier2 dans C:gestion

Le tout en vba et un automatique

Merci de ton aide

damgui











Avatar
JLuc
*Bonjour damgui*,

.Range("A65536").End(3).Offset(1,0) = TextBox1

Autant pour moi, j'oublie toujours de decaler :')

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O
Avatar
damgui
Merci jean luc
c est tout bon
1 2