Une question pour un expert en VBA!! existe t-il??????

Résolu
mokhtarmans Messages postés 12 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 18 janvier 2006 - 17 janv. 2006 à 10:38
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 - 18 janv. 2006 à 23:04
A partir d'une liste sur excel créer des dossier et les renommer avec le contenu des cellules:
For i = 1 to 10
créer des dossiers C\Cfacile(i)
Next i

14 réponses

ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
18 janv. 2006 à 23:04
Private Sub mok()
Dim i As Integer
Workbooks.Open "C:\Documents and Settings\Mokhtarm\Bureau\Groupe C1\C1S86.xls
"
Workbooks("C1S86.xls").Activate
Set X = Worksheets("Feuil1")
X .Select
X.Range("D2:D19").Select
Dim objFSO As Object
Dim objFolder As Object
i = 1
Do
varChemin = " C:\Documents and Settings\Mokhtarm\Bureau\Groupe C1\stagiaire \ "
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(" C:\Documents and Settings\Mokhtarm\Bureau\Groupe C1\modele \ ")
objFSO.CopyFolder objFolder, varChemin 'Vérifier qu'il ne faille pas ajouter une référence vers une propriété à objFolder (style .Name ou un truc du genre) !!!
<strike>Set varChemin = objFSO.GetFolder("C:\Documents and Settings\Mokhtarm\Bureau\Groupe C1\stagiaire\")</strike> 'Ca n'a aucun sens!!! D'où l'importance du nom donné aux choses!!!
<strike>dfol.Name = ActiveCell(i, 1).Value</strike> 'Ca non plus ça n'a pas de sens voyon!!!
'Tu dois mettre ceci à la place :
Set objFolder = objFSO.GetFolder(varChemin)
objFolder .Name = ActiveSheet.Cells(i, 1).Value
i = i + 1
Loop Until i = 19 'Ici non plus un Do/Loop n'a pas de sens!!! Utilise plutôt un For/Next!!!
End Sub

Essai comme ça pour commencer, après on verra!

MAIS PENSE A TOUJOURS NOUS DONNER LA LIGNE SUR LAQUELLE IL BLOQUE A L'EXECUTION ! On gagnera du temps ainsi!

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
3
BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
17 janv. 2006 à 11:15
'lut

peux tu etre un peu plus explicite ?
c'est quoi le contenu de tes cellules ? (chemin complet, relatif, juste le nom du dossier...)
nombre de dossier a creer est fixe, variable....

++

BasicInstinct
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
17 janv. 2006 à 15:25
Sinon, regarde déjà dans l'aide du coté du "File System Object" (FSO) (section "Objets"). Mais sinon, ce n'est pas compliqué si, comme dit BasicInstinct, tu nous précises si les chemins sont complets, relatifs, ...

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
mokhtarmans Messages postés 12 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 18 janvier 2006
17 janv. 2006 à 16:56
Contenu des cellules : nom du dossier
la liste est fixe.

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
17 janv. 2006 à 17:11
For i = 1 To 10 'Bien qu'un Do/Loop soit plus conseillé!
Mkdir Cells(i,1).Value
Next i

Tout simplement!

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 2
17 janv. 2006 à 17:24
merci de ne pas faire 2 posts sur le même sujet à 15 minutes d'intervalle
cf http://vbfrance.com/forum.v2.aspx?ID=642029
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
17 janv. 2006 à 17:39
En effet!!!

Et pense aussi à cliquer sur le bouton "Réponse Accepté" lorsqu'une réponse te convient!!!

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
mokhtarmans Messages postés 12 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 18 janvier 2006
18 janv. 2006 à 08:51
Je ne l'ai pas essayé encore, cet aprés midi je te dirai si ça marche.
Merci pour ton aide.
0
mokhtarmans Messages postés 12 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 18 janvier 2006
18 janv. 2006 à 14:32
ça ne marche pas!!
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
18 janv. 2006 à 15:11
For i = 1 To 10 'Bien qu'un Do/Loop soit plus conseillé!
Mkdir
ActiveSheet.Cells(2, 1).Value

Next i

M'enfin!!! Faut-il vraiment le dire !?!?!?

Mais sinon y'a aussi le FSO comme on t'a dit dans ton deuxième post sur le forum !

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
18 janv. 2006 à 15:17
For i = 1 To 10 'Bien qu'un Do/Loop soit plus conseillé!
Mkdir
ActiveSheet.Cells(2, 1).Value

Next i

M'enfin!!! Faut-il vraiment le dire !?!?!?

Mais sinon y'a aussi le FSO comme on t'a dit dans ton deuxième post sur le forum !

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
mokhtarmans Messages postés 12 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 18 janvier 2006
18 janv. 2006 à 16:27
ça ne marche pas!!
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
18 janv. 2006 à 16:36
Où ça ne marche pas ???

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
mokhtarmans Messages postés 12 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 18 janvier 2006
18 janv. 2006 à 17:29
ub mok()
Dim i As Integer
Workbooks.Open "C:\Documents and Settings\Mokhtarm\Bureau\Groupe C1\C1S86"
Workbooks("C1S86.xls").Activate
Worksheets("Feuil1").Select
Set X = Worksheets("Feuil1")
X.Range("D2:D19").Select
Dim fso
Dim MyFolder
i = 1
Do
dfol = "C:\Documents and Settings\Mokhtarm\Bureau\Groupe C1\stagiaire"
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFolder = fso.getfolder("C:\Documents and Settings\Mokhtarm\Bureau\Groupe C1\modele")
fso.CopyFolder MyFolder, dfol
Set dfol = fso.getfolder("C:\Documents and Settings\Mokhtarm\Bureau\Groupe C1\stagiaire")
dfol.Name = ActiveCell(i, 1).Value
i = i + 1
Loop Until i = 19

End Sub

ça ne marche pas!!
0
Rejoignez-nous