Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un dossier que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si il est
possible de copier et directement de lui donner le nom que l'on veut lors de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDP = InputBox("Entrer le numéro du nouveau projet" & Chr(13) &
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un dossier que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si il est
possible de copier et directement de lui donner le nom que l'on veut lors de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDP = InputBox("Entrer le numéro du nouveau projet" & Chr(13) &
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un dossier que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si il est
possible de copier et directement de lui donner le nom que l'on veut lors de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDP = InputBox("Entrer le numéro du nouveau projet" & Chr(13) &
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le nom de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si il
est
possible de copier et directement de lui donner le nom que l'on veut lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDP = InputBox("Entrer le numéro du nouveau projet" & Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le nom de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!
Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si il
est
possible de copier et directement de lui donner le nom que l'on veut lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDP = InputBox("Entrer le numéro du nouveau projet" & Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le nom de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si il
est
possible de copier et directement de lui donner le nom que l'on veut lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDP = InputBox("Entrer le numéro du nouveau projet" & Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
bonne idée sauf que dans ce dossier de référence, il y a des sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes manières il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le nom de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si il
est
possible de copier et directement de lui donner le nom que l'on veut lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDP = InputBox("Entrer le numéro du nouveau projet" & Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
bonne idée sauf que dans ce dossier de référence, il y a des sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes manières il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
F6D51DA4-1C22-4BF7-8F2B-959DAE880344@microsoft.com...
Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le nom de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!
Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si il
est
possible de copier et directement de lui donner le nom que l'on veut lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDP = InputBox("Entrer le numéro du nouveau projet" & Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
bonne idée sauf que dans ce dossier de référence, il y a des sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes manières il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le nom de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si il
est
possible de copier et directement de lui donner le nom que l'on veut lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDP = InputBox("Entrer le numéro du nouveau projet" & Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait être
identique à celui du fichier en cours d'utilisation tu le retrouvais dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si
il
est
possible de copier et directement de lui donner le nom que l'on veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet" &
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait être
identique à celui du fichier en cours d'utilisation tu le retrouvais dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!
bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
F6D51DA4-1C22-4BF7-8F2B-959DAE880344@microsoft.com...
Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!
Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si
il
est
possible de copier et directement de lui donner le nom que l'on veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet" &
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait être
identique à celui du fichier en cours d'utilisation tu le retrouvais dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si
il
est
possible de copier et directement de lui donner le nom que l'on veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet" &
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en plein
milieu d'un code ou l'on doit les mettres tous au début du code comme les
déclarations Public ?
"FFO" a écrit dans le message de news:Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait être
identique à celui du fichier en cours d'utilisation tu le retrouvais dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si
il
est
possible de copier et directement de lui donner le nom que l'on veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet" &
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en plein
milieu d'un code ou l'on doit les mettres tous au début du code comme les
déclarations Public ?
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
6D5417F5-4FFE-4951-9C6D-82490DEFD8EE@microsoft.com...
Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait être
identique à celui du fichier en cours d'utilisation tu le retrouvais dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!
bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
F6D51DA4-1C22-4BF7-8F2B-959DAE880344@microsoft.com...
Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!
Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si
il
est
possible de copier et directement de lui donner le nom que l'on veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet" &
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en plein
milieu d'un code ou l'on doit les mettres tous au début du code comme les
déclarations Public ?
"FFO" a écrit dans le message de news:Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait être
identique à celui du fichier en cours d'utilisation tu le retrouvais dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir si
il
est
possible de copier et directement de lui donner le nom que l'on veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet" &
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme les
déclarations Public ?
"FFO" a écrit dans le message de news:Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait être
identique à celui du fichier en cours d'utilisation tu le retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir
si
il
est
possible de copier et directement de lui donner le nom que l'on
veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet" &
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!
Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme les
déclarations Public ?
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
6D5417F5-4FFE-4951-9C6D-82490DEFD8EE@microsoft.com...
Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait être
identique à celui du fichier en cours d'utilisation tu le retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!
bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
F6D51DA4-1C22-4BF7-8F2B-959DAE880344@microsoft.com...
Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!
Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir
si
il
est
possible de copier et directement de lui donner le nom que l'on
veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet" &
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme les
déclarations Public ?
"FFO" a écrit dans le message de news:Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait être
identique à celui du fichier en cours d'utilisation tu le retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir
si
il
est
possible de copier et directement de lui donner le nom que l'on
veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet" &
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Excellent, je n'ai plus de problème de syntaxe (ça bloquait a cause des
parenthèses du copyfolder)
voici maintenant la "gueule" de mon bout de code pour la gestion du dossier
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDC = InputBox("Entrer le numéro du nouveau projet" & Chr(13) &
"Exemple: 1859")
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:Dossier de référence"
Destination = "C:"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & "toto", False
Else
End If
Malheureusement, à la ligne du copyfolder, j'ai un message d'erreur "chemin
d'accès introuvable" alors que c'est C:toto, bizarre....
le microsoft sripting runtime est bien activé.
Le copyfolder peut copier le dossier et le créé directement ??? (j'ai quand
meme fait un test en créant via l'explorateur de fichier un dossier "toto"
vide...
ne perdont pas espoir, on avance vers la compréhension du VBA mdr
"FFO" a écrit dans le message de news:Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme les
déclarations Public ?
"FFO" a écrit dans le message de news:Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait être
identique à celui du fichier en cours d'utilisation tu le retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir
si
il
est
possible de copier et directement de lui donner le nom que l'on
veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet" &
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Excellent, je n'ai plus de problème de syntaxe (ça bloquait a cause des
parenthèses du copyfolder)
voici maintenant la "gueule" de mon bout de code pour la gestion du dossier
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDC = InputBox("Entrer le numéro du nouveau projet" & Chr(13) &
"Exemple: 1859")
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:Dossier de référence"
Destination = "C:"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & "toto", False
Else
End If
Malheureusement, à la ligne du copyfolder, j'ai un message d'erreur "chemin
d'accès introuvable" alors que c'est C:toto, bizarre....
le microsoft sripting runtime est bien activé.
Le copyfolder peut copier le dossier et le créé directement ??? (j'ai quand
meme fait un test en créant via l'explorateur de fichier un dossier "toto"
vide...
ne perdont pas espoir, on avance vers la compréhension du VBA mdr
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
65E90B1B-6F22-49D6-84C4-F5F68BB06206@microsoft.com...
Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!
Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme les
déclarations Public ?
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
6D5417F5-4FFE-4951-9C6D-82490DEFD8EE@microsoft.com...
Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait être
identique à celui du fichier en cours d'utilisation tu le retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!
bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
F6D51DA4-1C22-4BF7-8F2B-959DAE880344@microsoft.com...
Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!
Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir
si
il
est
possible de copier et directement de lui donner le nom que l'on
veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet" &
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Excellent, je n'ai plus de problème de syntaxe (ça bloquait a cause des
parenthèses du copyfolder)
voici maintenant la "gueule" de mon bout de code pour la gestion du dossier
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDC = InputBox("Entrer le numéro du nouveau projet" & Chr(13) &
"Exemple: 1859")
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:Dossier de référence"
Destination = "C:"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & "toto", False
Else
End If
Malheureusement, à la ligne du copyfolder, j'ai un message d'erreur "chemin
d'accès introuvable" alors que c'est C:toto, bizarre....
le microsoft sripting runtime est bien activé.
Le copyfolder peut copier le dossier et le créé directement ??? (j'ai quand
meme fait un test en créant via l'explorateur de fichier un dossier "toto"
vide...
ne perdont pas espoir, on avance vers la compréhension du VBA mdr
"FFO" a écrit dans le message de news:Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme les
déclarations Public ?
"FFO" a écrit dans le message de news:Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait être
identique à celui du fichier en cours d'utilisation tu le retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais savoir
si
il
est
possible de copier et directement de lui donner le nom que l'on
veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet" &
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Rebonjour à toi
Ta ligne source est erroné
au lieu de
Source = "C:Dossier de référence"
mets
Source = "C:Dossier de référence"
Tu recopies le dossier "Dossier de référence" et non un répertoire à
l'interieur représenté avec le caractère "" qui le suit
Celà devrait mieux fonctionner
Dis moi !!!!Excellent, je n'ai plus de problème de syntaxe (ça bloquait a cause des
parenthèses du copyfolder)
voici maintenant la "gueule" de mon bout de code pour la gestion du
dossier
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDC = InputBox("Entrer le numéro du nouveau projet" & Chr(13)
&
"Exemple: 1859")
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:Dossier de référence"
Destination = "C:"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & "toto", False
Else
End If
Malheureusement, à la ligne du copyfolder, j'ai un message d'erreur
"chemin
d'accès introuvable" alors que c'est C:toto, bizarre....
le microsoft sripting runtime est bien activé.
Le copyfolder peut copier le dossier et le créé directement ??? (j'ai
quand
meme fait un test en créant via l'explorateur de fichier un dossier
"toto"
vide...
ne perdont pas espoir, on avance vers la compréhension du VBA mdr
"FFO" a écrit dans le message de news:Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord
réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du
répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en
trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe de
la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme
les
déclarations Public ?
"FFO" a écrit dans le message de news:Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait
être
identique à celui du fichier en cours d'utilisation tu le retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre
les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip
de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de
news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant
le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de
référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par
une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais
savoir
si
il
est
possible de copier et directement de lui donner le nom que l'on
veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) =
vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet"
&
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Rebonjour à toi
Ta ligne source est erroné
au lieu de
Source = "C:Dossier de référence"
mets
Source = "C:Dossier de référence"
Tu recopies le dossier "Dossier de référence" et non un répertoire à
l'interieur représenté avec le caractère "" qui le suit
Celà devrait mieux fonctionner
Dis moi !!!!
Excellent, je n'ai plus de problème de syntaxe (ça bloquait a cause des
parenthèses du copyfolder)
voici maintenant la "gueule" de mon bout de code pour la gestion du
dossier
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDC = InputBox("Entrer le numéro du nouveau projet" & Chr(13)
&
"Exemple: 1859")
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:Dossier de référence"
Destination = "C:"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & "toto", False
Else
End If
Malheureusement, à la ligne du copyfolder, j'ai un message d'erreur
"chemin
d'accès introuvable" alors que c'est C:toto, bizarre....
le microsoft sripting runtime est bien activé.
Le copyfolder peut copier le dossier et le créé directement ??? (j'ai
quand
meme fait un test en créant via l'explorateur de fichier un dossier
"toto"
vide...
ne perdont pas espoir, on avance vers la compréhension du VBA mdr
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
65E90B1B-6F22-49D6-84C4-F5F68BB06206@microsoft.com...
Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord
réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du
répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en
trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!
Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe de
la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme
les
déclarations Public ?
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
6D5417F5-4FFE-4951-9C6D-82490DEFD8EE@microsoft.com...
Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait
être
identique à celui du fichier en cours d'utilisation tu le retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!
bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre
les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip
de
fichier/dossier avec VBA...
merci de ton aide
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de
news:
F6D51DA4-1C22-4BF7-8F2B-959DAE880344@microsoft.com...
Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant
le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!
Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de
référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par
une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais
savoir
si
il
est
possible de copier et directement de lui donner le nom que l'on
veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) =
vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet"
&
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
Rebonjour à toi
Ta ligne source est erroné
au lieu de
Source = "C:Dossier de référence"
mets
Source = "C:Dossier de référence"
Tu recopies le dossier "Dossier de référence" et non un répertoire à
l'interieur représenté avec le caractère "" qui le suit
Celà devrait mieux fonctionner
Dis moi !!!!Excellent, je n'ai plus de problème de syntaxe (ça bloquait a cause des
parenthèses du copyfolder)
voici maintenant la "gueule" de mon bout de code pour la gestion du
dossier
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDC = InputBox("Entrer le numéro du nouveau projet" & Chr(13)
&
"Exemple: 1859")
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:Dossier de référence"
Destination = "C:"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & "toto", False
Else
End If
Malheureusement, à la ligne du copyfolder, j'ai un message d'erreur
"chemin
d'accès introuvable" alors que c'est C:toto, bizarre....
le microsoft sripting runtime est bien activé.
Le copyfolder peut copier le dossier et le créé directement ??? (j'ai
quand
meme fait un test en créant via l'explorateur de fichier un dossier
"toto"
vide...
ne perdont pas espoir, on avance vers la compréhension du VBA mdr
"FFO" a écrit dans le message de news:Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord
réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du
répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en
trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe de
la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme
les
déclarations Public ?
"FFO" a écrit dans le message de news:Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait
être
identique à celui du fichier en cours d'utilisation tu le retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre
les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip
de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de
news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant
le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de
référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par
une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais
savoir
si
il
est
possible de copier et directement de lui donner le nom que l'on
veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) =
vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet"
&
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
excellent, ça fonctionne parfaitement, faut que j'implémente encore des
contrôles pour voir si le dossier existe ou pas, etc...
mais en cette presque fin de journée, j'ai le sourire jusqu'aux oreilles
Merci pour ton aide !
"FFO" a écrit dans le message de news:Rebonjour à toi
Ta ligne source est erroné
au lieu de
Source = "C:Dossier de référence"
mets
Source = "C:Dossier de référence"
Tu recopies le dossier "Dossier de référence" et non un répertoire à
l'interieur représenté avec le caractère "" qui le suit
Celà devrait mieux fonctionner
Dis moi !!!!Excellent, je n'ai plus de problème de syntaxe (ça bloquait a cause des
parenthèses du copyfolder)
voici maintenant la "gueule" de mon bout de code pour la gestion du
dossier
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDC = InputBox("Entrer le numéro du nouveau projet" &
Chr(13) &
"Exemple: 1859")
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:Dossier de référence"
Destination = "C:"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & "toto", False
Else
End If
Malheureusement, à la ligne du copyfolder, j'ai un message d'erreur
"chemin
d'accès introuvable" alors que c'est C:toto, bizarre....
le microsoft sripting runtime est bien activé.
Le copyfolder peut copier le dossier et le créé directement ??? (j'ai
quand
meme fait un test en créant via l'explorateur de fichier un dossier
"toto"
vide...
ne perdont pas espoir, on avance vers la compréhension du VBA mdr
"FFO" a écrit dans le message de news:Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord
réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du
répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en
trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe
de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme
les
déclarations Public ?
"FFO" a écrit dans le message de
news:Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait
être
identique à celui du fichier en cours d'utilisation tu le
retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre
les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip
de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de
news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant
le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans
un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de
référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par
une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais
savoir
si
il
est
possible de copier et directement de lui donner le nom que l'on
veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) =
vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet"
&
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
excellent, ça fonctionne parfaitement, faut que j'implémente encore des
contrôles pour voir si le dossier existe ou pas, etc...
mais en cette presque fin de journée, j'ai le sourire jusqu'aux oreilles
Merci pour ton aide !
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
C7A5DEC7-CDA4-4430-AC60-CBE1C46CC8DB@microsoft.com...
Rebonjour à toi
Ta ligne source est erroné
au lieu de
Source = "C:Dossier de référence"
mets
Source = "C:Dossier de référence"
Tu recopies le dossier "Dossier de référence" et non un répertoire à
l'interieur représenté avec le caractère "" qui le suit
Celà devrait mieux fonctionner
Dis moi !!!!
Excellent, je n'ai plus de problème de syntaxe (ça bloquait a cause des
parenthèses du copyfolder)
voici maintenant la "gueule" de mon bout de code pour la gestion du
dossier
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDC = InputBox("Entrer le numéro du nouveau projet" &
Chr(13) &
"Exemple: 1859")
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:Dossier de référence"
Destination = "C:"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & "toto", False
Else
End If
Malheureusement, à la ligne du copyfolder, j'ai un message d'erreur
"chemin
d'accès introuvable" alors que c'est C:toto, bizarre....
le microsoft sripting runtime est bien activé.
Le copyfolder peut copier le dossier et le créé directement ??? (j'ai
quand
meme fait un test en créant via l'explorateur de fichier un dossier
"toto"
vide...
ne perdont pas espoir, on avance vers la compréhension du VBA mdr
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
65E90B1B-6F22-49D6-84C4-F5F68BB06206@microsoft.com...
Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord
réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du
répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en
trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!
Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe
de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme
les
déclarations Public ?
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de
news:
6D5417F5-4FFE-4951-9C6D-82490DEFD8EE@microsoft.com...
Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait
être
identique à celui du fichier en cours d'utilisation tu le
retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!
bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre
les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip
de
fichier/dossier avec VBA...
merci de ton aide
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de
news:
F6D51DA4-1C22-4BF7-8F2B-959DAE880344@microsoft.com...
Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant
le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!
Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans
un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de
référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par
une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais
savoir
si
il
est
possible de copier et directement de lui donner le nom que l'on
veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) =
vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet"
&
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
excellent, ça fonctionne parfaitement, faut que j'implémente encore des
contrôles pour voir si le dossier existe ou pas, etc...
mais en cette presque fin de journée, j'ai le sourire jusqu'aux oreilles
Merci pour ton aide !
"FFO" a écrit dans le message de news:Rebonjour à toi
Ta ligne source est erroné
au lieu de
Source = "C:Dossier de référence"
mets
Source = "C:Dossier de référence"
Tu recopies le dossier "Dossier de référence" et non un répertoire à
l'interieur représenté avec le caractère "" qui le suit
Celà devrait mieux fonctionner
Dis moi !!!!Excellent, je n'ai plus de problème de syntaxe (ça bloquait a cause des
parenthèses du copyfolder)
voici maintenant la "gueule" de mon bout de code pour la gestion du
dossier
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDC = InputBox("Entrer le numéro du nouveau projet" &
Chr(13) &
"Exemple: 1859")
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:Dossier de référence"
Destination = "C:"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & "toto", False
Else
End If
Malheureusement, à la ligne du copyfolder, j'ai un message d'erreur
"chemin
d'accès introuvable" alors que c'est C:toto, bizarre....
le microsoft sripting runtime est bien activé.
Le copyfolder peut copier le dossier et le créé directement ??? (j'ai
quand
meme fait un test en créant via l'explorateur de fichier un dossier
"toto"
vide...
ne perdont pas espoir, on avance vers la compréhension du VBA mdr
"FFO" a écrit dans le message de news:Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord
réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du
répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en
trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe
de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme
les
déclarations Public ?
"FFO" a écrit dans le message de
news:Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait
être
identique à celui du fichier en cours d'utilisation tu le
retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre
les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip
de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de
news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant
le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans
un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de
référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par
une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais
savoir
si
il
est
possible de copier et directement de lui donner le nom que l'on
veut
lors
de
la copie
j'ai commencé mon code par ceci :
Public NDP as string ' NDP= Numéo de projet
Sub test()
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) =
vbYes
Then
NDP = InputBox("Entrer le numéro du nouveau projet"
&
Chr(13)
&
"Exemple: 1859")
End Sub
Merci d'avance de vos conseils
dans ce bout de code, j'enregistre un fichier. Malheureusement si le fichier
existe déjà une boite de dialogue me demandant si je veux l'écraser ou pas
s'affiche
est-il possible de récupérer une info de cette boite de dialogue automatique
?
NOE = InputBox("Entrer le numéro d'une offre existante" & Chr(13) &
"Exemple: 1859", "Numéro d'une offre existante")
Set Fso2 = CreateObject("Scripting.FileSystemObject")
Destination = "S:TechniqueAutomationProjets AutoProjet
EssaiCommercialDossier de reception" & NOE
If Fso2.FolderExists(Destination) Then
ChDrive "S"
ChDir Destination & "Calculation"
ICI===> ActiveWorkbook.SaveAs Filename:=(NOE)
GoTo Selec4:
Else
If MsgBox("Le dossier " & NOE & " n'existe pas !,
voulez-vous revenir au début ?", vbYesNo) = vbYes Then
GoTo Selec:
Else
GoTo Selec3:
End If
End If
merci de votre réponse
"Joachim Ruegsegger" a écrit dans le message de
news:excellent, ça fonctionne parfaitement, faut que j'implémente encore des
contrôles pour voir si le dossier existe ou pas, etc...
mais en cette presque fin de journée, j'ai le sourire jusqu'aux oreilles
Merci pour ton aide !
"FFO" a écrit dans le message de news:Rebonjour à toi
Ta ligne source est erroné
au lieu de
Source = "C:Dossier de référence"
mets
Source = "C:Dossier de référence"
Tu recopies le dossier "Dossier de référence" et non un répertoire à
l'interieur représenté avec le caractère "" qui le suit
Celà devrait mieux fonctionner
Dis moi !!!!Excellent, je n'ai plus de problème de syntaxe (ça bloquait a cause des
parenthèses du copyfolder)
voici maintenant la "gueule" de mon bout de code pour la gestion du
dossier
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDC = InputBox("Entrer le numéro du nouveau projet" &
Chr(13) &
"Exemple: 1859")
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:Dossier de référence"
Destination = "C:"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & "toto", False
Else
End If
Malheureusement, à la ligne du copyfolder, j'ai un message d'erreur
"chemin
d'accès introuvable" alors que c'est C:toto, bizarre....
le microsoft sripting runtime est bien activé.
Le copyfolder peut copier le dossier et le créé directement ??? (j'ai
quand
meme fait un test en créant via l'explorateur de fichier un dossier
"toto"
vide...
ne perdont pas espoir, on avance vers la compréhension du VBA mdr
"FFO" a écrit dans le message de news:Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord
réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du
répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en
trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe
de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme
les
déclarations Public ?
"FFO" a écrit dans le message de
news:Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait
être
identique à celui du fichier en cours d'utilisation tu le
retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre
les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip
de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de
news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant
le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans
un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de
référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par
une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais
savoir
si
il
dans ce bout de code, j'enregistre un fichier. Malheureusement si le fichier
existe déjà une boite de dialogue me demandant si je veux l'écraser ou pas
s'affiche
est-il possible de récupérer une info de cette boite de dialogue automatique
?
NOE = InputBox("Entrer le numéro d'une offre existante" & Chr(13) &
"Exemple: 1859", "Numéro d'une offre existante")
Set Fso2 = CreateObject("Scripting.FileSystemObject")
Destination = "S:TechniqueAutomationProjets AutoProjet
EssaiCommercialDossier de reception" & NOE
If Fso2.FolderExists(Destination) Then
ChDrive "S"
ChDir Destination & "Calculation"
ICI===> ActiveWorkbook.SaveAs Filename:=(NOE)
GoTo Selec4:
Else
If MsgBox("Le dossier " & NOE & " n'existe pas !,
voulez-vous revenir au début ?", vbYesNo) = vbYes Then
GoTo Selec:
Else
GoTo Selec3:
End If
End If
merci de votre réponse
"Joachim Ruegsegger" <jruegsegger@daril-sa.com> a écrit dans le message de
news: OMK34EDrHHA.4100@TK2MSFTNGP06.phx.gbl...
excellent, ça fonctionne parfaitement, faut que j'implémente encore des
contrôles pour voir si le dossier existe ou pas, etc...
mais en cette presque fin de journée, j'ai le sourire jusqu'aux oreilles
Merci pour ton aide !
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
C7A5DEC7-CDA4-4430-AC60-CBE1C46CC8DB@microsoft.com...
Rebonjour à toi
Ta ligne source est erroné
au lieu de
Source = "C:Dossier de référence"
mets
Source = "C:Dossier de référence"
Tu recopies le dossier "Dossier de référence" et non un répertoire à
l'interieur représenté avec le caractère "" qui le suit
Celà devrait mieux fonctionner
Dis moi !!!!
Excellent, je n'ai plus de problème de syntaxe (ça bloquait a cause des
parenthèses du copyfolder)
voici maintenant la "gueule" de mon bout de code pour la gestion du
dossier
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDC = InputBox("Entrer le numéro du nouveau projet" &
Chr(13) &
"Exemple: 1859")
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:Dossier de référence"
Destination = "C:"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & "toto", False
Else
End If
Malheureusement, à la ligne du copyfolder, j'ai un message d'erreur
"chemin
d'accès introuvable" alors que c'est C:toto, bizarre....
le microsoft sripting runtime est bien activé.
Le copyfolder peut copier le dossier et le créé directement ??? (j'ai
quand
meme fait un test en créant via l'explorateur de fichier un dossier
"toto"
vide...
ne perdont pas espoir, on avance vers la compréhension du VBA mdr
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
65E90B1B-6F22-49D6-84C4-F5F68BB06206@microsoft.com...
Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord
réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du
répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en
trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!
Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe
de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme
les
déclarations Public ?
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de
news:
6D5417F5-4FFE-4951-9C6D-82490DEFD8EE@microsoft.com...
Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait
être
identique à celui du fichier en cours d'utilisation tu le
retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!
bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre
les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip
de
fichier/dossier avec VBA...
merci de ton aide
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de
news:
F6D51DA4-1C22-4BF7-8F2B-959DAE880344@microsoft.com...
Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant
le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!
Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans
un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de
référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par
une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais
savoir
si
il
dans ce bout de code, j'enregistre un fichier. Malheureusement si le fichier
existe déjà une boite de dialogue me demandant si je veux l'écraser ou pas
s'affiche
est-il possible de récupérer une info de cette boite de dialogue automatique
?
NOE = InputBox("Entrer le numéro d'une offre existante" & Chr(13) &
"Exemple: 1859", "Numéro d'une offre existante")
Set Fso2 = CreateObject("Scripting.FileSystemObject")
Destination = "S:TechniqueAutomationProjets AutoProjet
EssaiCommercialDossier de reception" & NOE
If Fso2.FolderExists(Destination) Then
ChDrive "S"
ChDir Destination & "Calculation"
ICI===> ActiveWorkbook.SaveAs Filename:=(NOE)
GoTo Selec4:
Else
If MsgBox("Le dossier " & NOE & " n'existe pas !,
voulez-vous revenir au début ?", vbYesNo) = vbYes Then
GoTo Selec:
Else
GoTo Selec3:
End If
End If
merci de votre réponse
"Joachim Ruegsegger" a écrit dans le message de
news:excellent, ça fonctionne parfaitement, faut que j'implémente encore des
contrôles pour voir si le dossier existe ou pas, etc...
mais en cette presque fin de journée, j'ai le sourire jusqu'aux oreilles
Merci pour ton aide !
"FFO" a écrit dans le message de news:Rebonjour à toi
Ta ligne source est erroné
au lieu de
Source = "C:Dossier de référence"
mets
Source = "C:Dossier de référence"
Tu recopies le dossier "Dossier de référence" et non un répertoire à
l'interieur représenté avec le caractère "" qui le suit
Celà devrait mieux fonctionner
Dis moi !!!!Excellent, je n'ai plus de problème de syntaxe (ça bloquait a cause des
parenthèses du copyfolder)
voici maintenant la "gueule" de mon bout de code pour la gestion du
dossier
If MsgBox("Est-ce que c'est une nouvelle offre ?", vbYesNo) = vbYes Then
NDC = InputBox("Entrer le numéro du nouveau projet" &
Chr(13) &
"Exemple: 1859")
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:Dossier de référence"
Destination = "C:"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & "toto", False
Else
End If
Malheureusement, à la ligne du copyfolder, j'ai un message d'erreur
"chemin
d'accès introuvable" alors que c'est C:toto, bizarre....
le microsoft sripting runtime est bien activé.
Le copyfolder peut copier le dossier et le créé directement ??? (j'ai
quand
meme fait un test en créant via l'explorateur de fichier un dossier
"toto"
vide...
ne perdont pas espoir, on avance vers la compréhension du VBA mdr
"FFO" a écrit dans le message de news:Rebonjour à toi
En préambule as tu pensé à la Référence :
"reference Microsoft scripting Runtime"
Aprés cette vérification et si le PB persiste tu devrais d'abord
réaliser
le
cas le plus simple comme ceci :
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminRépertoire de référence"
Destination = "C:Chemin"
Fso.CopyFolder Source, Destination & "Toto", False
regarde si le nouveau répertoire "Toto" est bien créé avec toute sa
panoplie
à l'identique du Répertoire de Référence
Puis change "Toto" avec InputBox("Entrer le numéro du nouveau
projet")
Nouvel essai en saisissant dans la Boîte de dialogue le nom du
répertoire
à
créer
Faire une nouvelle vérification
Si tout est Ok reste à mettre en place la partie :
& Chr(13) & "Nom du dossier et Exemple: 1859
J'ai retesté avec à la virgule prés ce que tu m'as mis dans ta réponse
avec
ta correction (effectivement il y avait une parenthèse fermante en
trop),
aucune anomalie à déplorer avec la création du répertoire
Réalise donc de proche en proche ce code et donne moi le résultat !!!!Ca ne fonctionne pas mais je pense que c'est un problème de syntaxe
de la
dernière ligne :
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
j'ai modifé comme ceci:
Fso.CopyFolder (Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"), False)
mais il me dit qu'il y a toujours un problème de syntaxe
"Problème de compilation
attendu : = "
j'ai une autre question, les déclarations Dim, on peut les placers en
plein
milieu d'un code ou l'on doit les mettres tous au début du code comme
les
déclarations Public ?
"FFO" a écrit dans le message de
news:Rebonjour à toi
C'était bien tenté mais pas à la hauteur du cahier des charges
Concernant le chemin du dossier partant du principe qu'il devait
être
identique à celui du fichier en cours d'utilisation tu le
retrouvais
dans
l'instruction :
ThisWorkbook.Path
avec remonté au dossier parent par la ligne :
Set ledossierNMoinsUn = ledossier.ParentFolder
Puis de créer le dossier avec le nom souhaité par la ligne :
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
reprenant le chemin établit sous "le nom ledossierNMoinsUn"
J'espère avoir éclairci ta lanterne
Concernant tes attentes je te propose donc en lieu et place de ma
première
suggestion ce code :
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String
Set Fso = CreateObject("Scripting.FileSystemObject")
Source = "C:CheminFichier de référence"
Destination = "C:Chemin"
'False/True option pour écraser les fichiers
Fso.CopyFolder Source, Destination & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859")), False
Ne pas oublier de mettre dans les références :
"reference Microsoft scripting Runtime"
Je pense que tu devrais être beaucoup plus satisfait !!!
Annonce moi la bonne nouvelle !!!!bonne idée sauf que dans ce dossier de référence, il y a des
sous-dossiers
prédéfini avec des fichiers de base à remplir, etc... de toutes
manières
il
faut que je puisse faire de la copie de dossier.
dans ton exemple, je ne comprend pas très bien où je dois mettre
les
chemins
de dossier, désolé, c'est la première fois que je fais de la manip
de
fichier/dossier avec VBA...
merci de ton aide
"FFO" a écrit dans le message de
news:Salut à toi
Je te propose au lieu de le copier de le créer en lui affectant
le
nom
de
ton choix avec ce code :
Dim filesysobj As Object
Dim ledossier As Object
Dim ledossierNMoinsUn As Object
Set filesysobj = CreateObject("Scripting.FileSystemObject")
Set ledossier = filesysobj.GetFolder(ThisWorkbook.Path)
Set ledossierNMoinsUn = ledossier.ParentFolder
MkDir (ledossierNMoinsUn & "" & InputBox("Entrer le numéro du
nouveau
projet" & Chr(13) & "Nom du dossier et Exemple: 1859"))
celà peut-il convenir
Dit moi !!!Bonjour,
à la fin de mon code j'aimerais enregistrer mon classeur dans
un
dossier
que
je devrais manipuler:
1: il (le dossier cible) est une copie d'un "dossier de
référence".
2: je le renomme avec un numéro entrer par l'utilisateur (par
une
msgbox)
....
je n'ai pas trouvé comment copier un dossier et j'aimerais
savoir
si
il