Emplacement d'un dossier

Résolu
chan33 Messages postés 36 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 5 février 2009 - 5 déc. 2008 à 22:00
chan33 Messages postés 36 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 5 février 2009 - 9 déc. 2008 à 20:55
Bonjour,

J'aimerais savoir si c'est possible de copier le chemin d'un dossier que je viens de créer avec une macro et de le copier dans une cellule.

Merci !

Chantal

15 réponses

pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
9 déc. 2008 à 00:02
donc ton code est :
sub CreationNumeroSoummission()
'Macro enregistrée le 27 août 2008 par Chantal Caron
'Définition des variables
    Dim indexs, soumission, description, nom, index
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    Dim FSO As New FileSystemObject
    Dim chemin As Variant
    Dim cheminmodel As String
    Dim chemintemps As String
    Dim chemindonnée As String
    Dim WB As Workbook
     
    'Déprotéger les feuilles
    Sheets("Échéanciers").Unprotect
    Sheets("Liste des soumissions").Unprotect
    Sheets("Liste des projets").Unprotect
    Sheets("Inventaire composant réservoir").Unprotect
    'Inscription des spécifications de la soumission
    Sheets("Liste des soumissions").Select
    indexs = Range("F2").Value
     Range("F2").Value =indexs + 1
    soumission = Right(Range("A" & indexs - 1).value, 5) + 1
    soumission = "S" & IIf((projet < 10000), "0", vbNullString) & soumission
    MsgBox "Nouvelle soumission :" & soumission
    Range("A" & indexs).value == soumission    
    description = InputBox("Inscrire la description de la soumission")
    Range("B" & indexs).value = description
    nom = InputBox("Inscrire le nom du client")
    Range("C" & indexs).value = nom
    Range("D" & indexs).value = Date
     'Copie des dossiers de classement et modifier les noms
    Sheets("Échéanciers").Select
    cheminmodel = Range("F2").Select
    MsgBox "Sélectionner le répertoire d'enregistrement de la soumission"
    With fd
        .InitialFileName = "C:"
        If .Show = -1 Then
            For Each chemin In .SelectedItems
                FSO.CopyFolder cheminmodel, chemin
                Name "R1200-Model répertoire" As soumission & "-" & description
        
       chemintemps = chemin & "" & soumission & "-" &
description & "\Temps et matériel" & soumission  _
                     & " Gestion projet.xls"
               
Name chemin & "" & soumission & "-" & description
& "\Temps et matériel\R1200 Gestion projet.xls"  
                    As chemintemps
                Workbooks.Open Filename:=chemintemps
                Sheets("Temps").Select
                Range("B3").value = soumission
                ActiveWorkbook.Save
                ActiveWindow.Close
            Next chemin
         Else
          'puisque il n'y a rien entre le "else" et le "end if" le "Else" peut etre supprimé
         End If
         'Protéger les feuilles
          Sheets("Échéanciers").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
          Sheets("Liste des soumissions").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
          Sheets("Liste des projets").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True        
          Sheets("Inventaire composant réservoir").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
         'Pour sélectionner la feuille "Liste des soumissions" à la fin de la macro
          Sheets("Liste des soumissions").Select
         'Pour ouvrir la feuille de soumission de base
         Set WB = Application.Workbooks.Open(ActiveSheet.Range("A2").Text)
         MsgBox "Sélectionner le répertoire d'enregistrement"
        With fd
            .InitialFileName = "C:"
            If .Show = -1 Then
                ActiveWorkbook.SaveAs soumission & "-" & description & ".xls"
                MsgBox "La création des dossiers et des fichiers de la soumission # " & soumission & " est terminé"
           End If
        End With
    End With
End Sub

ce que je ne comprends pas dans ton code c'est la boucle "for each" car il me semble que tu travailles en fait sur seulement deux fichiers dont un des deux est la copie d'un fichier modele
exact ?
si c'est bien ça  utiliser FSO est d'une lourdeur monstrueuse pour pas grand chose
sinon
fais moi un petit topo simple sur les fichiers et répertoires que tu manipules
du genre :
j'ai un fichier toto.xls qui est dans le répertoire machin
je veux le copier sous tel nom (la variable)dans le répertoire (la variable)
ainsi que les fichiers truc, chose,
etc

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
3
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
9 déc. 2008 à 20:41
    MsgBox "Sélectionner le répertoire des dossiers et fichiers à renommé"
    With fd
        .InitialFileName = "C:"
   
    If .Show = -1 Then
    For Each chemin In .SelectedItems
    MsgBox "Renomme les fichiers, appuyer sur OK"
        Name nsoumission & "-" & ndescrip As projet & "-" & nclient
       
Name projet & "-" & nclient & "\Temps et matériel" &
nsoumission & " Gestion projet.xls" As projet & "-" &
nclient & "\Temps et matériel" & projet & " Gestion
projet.xls"

dans cette partie du code  tu renommes tes fichiers dans le répertoire client  donc tu as le chemin pour ouvrir le fichier ensuite
en bleu c'est bien le chemin complet du nouveau fichier
ou alors j'ai rien compris  (ce qui ne serait pas surprenant j'ai toujours eu énormément de mal à comprendre FSO )

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
3
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
5 déc. 2008 à 22:40
bonsoir
a une question aussi imprécise je ne peux que répondre oui
sans plus d'explications sur ce que tu as fait personne ne pourra t'aider
le bout de code qui te permet de créer ce chemin  aurait été utile

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
cs_candyraton Messages postés 109 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 2 février 2012 3
6 déc. 2008 à 11:30
fait le!
enregistre une macro, copie ton chemin, arrête ta macro, ton code est fait! magique.
(bon aprés fo peut être adapter un peu).
0

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

Posez votre question
chan33 Messages postés 36 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 5 février 2009
8 déc. 2008 à 20:57
Bonjour,

Désolé, je vais essayer d'être plus précise.

J'ai fais une macro qui génère automatiquement un numéro de soumission et par la suite je lui donne une description et le nom du client et je lui donne le chemin pour la sauvegarde, pour qu'il puisse copier les répertoires modèles (dessins, soumission et temps). Le numéro, la description et le nom du client sont défini comme variable. (Fichier de la liste des soumissions fait)

Par la suite, je fais ouvrir un autre fichier excel qui est celui de la soumission de base. Je voudrais qu'à l'ouverture de ce fichier, il s'enregistre sous le numéro de soumission et la description que je lui ai donné auparavant et dans le répertoire soumission.

J'espère que je suis plus clair ?

Est-ce possible ?
Si oui, pouvez-vous m'aider ?

Merci beaucoup de votre attention !

Chantal
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
8 déc. 2008 à 21:41
<title>FileCopy, instruction</title>
<style><![CDATA[import url(office.css);]]></style>
<link disabled= "" href="msoffice.css" rel="stylesheet" />

FileCopy

source ,

destination


exemple extrait de l'aide en ligne de VBA:
<title>FileCopy, instruction, exemple</title><style><![CDATA[import url(office.css);]]></style><link disabled ="" href="msoffice.css" rel="stylesheet" />
Dim SourceFile, DestinationFile
SourceFile = "FICHSRC"    ' Définit le nom du fichier source.
DestinationFile = "FICHDEST"    ' Définit le nom du fichier cible.
' Copie le fichier source dans le fichier cible.
FileCopy SourceFile, DestinationFile


sans ton code il n'est pas possible de te donner quelque chose de plus précis
[reglement.aspx ]
si c'est la solution, penser : REPONSE ACCEPTEE
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
8 déc. 2008 à 21:44
oups ! la mise en page a légerement foirée

Dim SourceFile, DestinationFile 
SourceFile = "FICHSRC"    ' Définit le nom du fichier source.
DestinationFile = "FICHDEST"    ' Définit le nom du fichier cible. 
' Copie le fichier source dans le fichier cible. 
FileCopy SourceFile, DestinationFile 


[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
chan33 Messages postés 36 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 5 février 2009
8 déc. 2008 à 22:12
Voici le code, je sais très bien que ce n'est ce qui a de mieux, j'ai déjà été critiqué, mais je ne connais rien à la programmation et j'ai monté ceci en regardant les exemples sur ce site et avec l'aide de VBA. Merci pour votre indulgence.

Sub Création_numéro_de_soumission()

'Macro enregistrée le 27 août 2008 par Chantal Caron

'Définition des variables
Dim indexs, soumission, description, nom, index
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
Dim FSO As New FileSystemObject
Dim chemin As Variant
Dim cheminmodel As String
Dim chemintemps As String
Dim chemindonnée As String
Dim WB As Workbook


'Déprotéger les feuilles

Sheets("Échéanciers").Select
ActiveSheet.Unprotect
Sheets("Liste des soumissions").Select
ActiveSheet.Unprotect
Sheets("Liste des projets").Select
ActiveSheet.Unprotect
Sheets("Inventaire composant réservoir").Select
ActiveSheet.Unprotect


'Inscription des spécifications de la soumission
Sheets("Liste des soumissions").Select
Range("F2").Select
indexs = ActiveCell.Value
ActiveCell.FormulaR1C1 = indexs + 1
Range("A" & indexs - 1).Select
soumission = ActiveCell.Value
soumission = Right(soumission, 5) + 1
soumission = "S" & IIf((projet < 10000), "0", vbNullString) & soumission
MsgBox "Nouvelle soumission :" & soumission
Range("A" & indexs).Select
ActiveCell.FormulaR1C1 = soumission
description = InputBox("Inscrire la description de la soumission")
Range("B" & indexs).Select
ActiveCell.FormulaR1C1 = description
nom = InputBox("Inscrire le nom du client")
Range("C" & indexs).Select
ActiveCell.FormulaR1C1 = nom
Range("D" & indexs).Select
ActiveCell.FormulaR1C1 = Date

'Copie des dossiers de classement et modifier les noms
Sheets("Échéanciers").Select
Range("F2").Select
cheminmodel = ActiveCell.Value
MsgBox "Sélectionner le répertoire d'enregistrement de la soumission"
With fd
.InitialFileName = "C:"
If .Show = -1 Then
For Each chemin In .SelectedItems
FSO.CopyFolder cheminmodel, chemin
Name "R1200-Model répertoire" As soumission & "-" & description

chemintemps = chemin & "" & soumission & "-" & description & "\Temps et matériel" & soumission & " Gestion projet.xls"
Name chemin & "" & soumission & "-" & description & "\Temps et matériel\R1200 Gestion projet.xls" As chemintemps

Workbooks.Open Filename:= _
chemintemps
Sheets("Temps").Select
Range("B3").Select
ActiveCell.FormulaR1C1 = soumission
ActiveWorkbook.Save
ActiveWindow.Close

Next chemin

Else
End If


'Protéger les feuilles

Sheets("Échéanciers").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Liste des soumissions").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Liste des projets").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Inventaire composant réservoir").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

'Pour sélectionner la feuille "Liste des soumissions" à la fin de la macro

Sheets("Liste des soumissions").Select

'Pour ouvrir la feuille de soumission de base

Set WB = Application.Workbooks.Open(ActiveSheet.Range("A2").Text)

MsgBox "Sélectionner le répertoire d'enregistrement"

With fd
.InitialFileName = "C:"
If .Show = -1 Then
ActiveWorkbook.SaveAs soumission & "-" & description & ".xls"


MsgBox "La création des dossiers et des fichiers de la soumission # " & soumission & " est terminé"


End If
End With
End With

End Sub


Merci beaucoup, pour ton aide

Chantal
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
8 déc. 2008 à 23:40
c'est clair qu'il est pas facile à lire
on va donc faire un peu de ménage

premiere chose :
ne jamais mettre d'accents dans le code
donc
Sub Création_numéro_de_soumission()

devient
sub CreationNumeroSoummission()
c'est aussi lisible et ça ne risque pas de perturber VBA

'Macro enregistrée le 27 août 2008 par Chantal Caron

'Définition des variables

    Dim indexs, soumission, description, nom, index

    Dim fd As FileDialog

    Set fd = Application.FileDialog(msoFileDialogFolderPicker)

    Dim FSO As New FileSystemObject

    Dim chemin As Variant

    Dim cheminmodel As String

    Dim chemintemps As String

    Dim chemindonnée As String

    Dim WB As Workbook

    

        

'Déprotéger les feuilles

    Sheets("Échéanciers").Select

    ActiveSheet.Unprotect

    Sheets("Échéanciers").Unprotect

    Sheets("Liste des soumissions").Select

    ActiveSheet.Unprotect

    Sheets("Liste des soumissions").Unprotect

    Sheets("Liste des projets").Select

    ActiveSheet.Unprotect

    Sheets("Liste des projets").Unprotect

    Sheets("Inventaire composant réservoir").Select

    ActiveSheet.Unprotect

   
Sheets("Inventaire composant réservoir").Unprotect

'Inscription des spécifications de la soumission

    Sheets("Liste des soumissions").Select


    Range("F2").Select


    indexs = ActiveCell.Value
  

    indexs = Range("F2").Value

    ActiveCell.FormulaR1C1 = indexs + 1

    Range("F2").Value
=indexs + 1

    Range("A" & indexs - 1).Select

    soumission = ActiveCell.Value

    soumission = Right(soumission, 5) + 1

    soumission = Right(Range("A" & indexs - 1).value, 5) + 1

    soumission = "S" & IIf((projet < 10000), "0", vbNullString) & soumission

    MsgBox "Nouvelle soumission :" & soumission

    Range("A" & indexs).Select

    ActiveCell.FormulaR1C1 = soumission

    Range("A" & indexs).value == soumission
   
    description = InputBox("Inscrire la description de la soumission")

    Range("B" & indexs).Select

    ActiveCell.FormulaR1C1 = description

    Range("B" & indexs).value = description

    nom = InputBox("Inscrire le nom du client")

    Range("C" & indexs).Select

    ActiveCell.FormulaR1C1 = nom
    Range("C" & indexs).value = nom
    Range("D" & indexs).Select

    ActiveCell.FormulaR1C1 = Date

    
Range("D" & indexs).value = Date

     'Copie des dossiers de classement et modifier les noms

    Sheets("Échéanciers").Select

    Range("F2").Select

    cheminmodel = ActiveCell.Value

    cheminmodel = Range("F2").Select

    MsgBox "Sélectionner le répertoire d'enregistrement de la soumission"

    With fd

        .InitialFileName = "C:"

        If .Show = -1 Then

            For Each chemin In .SelectedItems

                FSO.CopyFolder cheminmodel, chemin

                Name "R1200-Model répertoire" As soumission & "-" & description

        
       chemintemps = chemin & "" & soumission & "-"
& description & "\Temps et matériel" & soumission  _
                     & "
Gestion projet.xls"

                Name chemin & "" & soumission & "-" &
description & "\Temps et matériel\R1200 Gestion projet.xls"  
                    As
chemintemps

        

                Workbooks.Open Filename:=chemintemps

                Sheets("Temps").Select

                Range("B3").Select

                ActiveCell.FormulaR1C1 = soumission
                Range("B3").value = soumission
                ActiveWorkbook.Save

                ActiveWindow.Close

        
   Next chemin

        
Else
          'puisque il n'y a rien entre le "else" et le "end if" le "Else" peut etre supprimé
         End If

'Protéger les feuilles

        Sheets("Échéanciers").Select

        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

        Sheets("Échéanciers").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

         Sheets("Liste des soumissions").Select

        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

        Sheets("Liste des soumissions").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

        Sheets("Liste des projets").Select

        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

        Sheets("Liste des projets").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
       

        Sheets("Inventaire composant réservoir").Select


        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

        Sheets("Inventaire composant réservoir").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

        'Pour sélectionner la feuille "Liste des soumissions" à la fin de la macro


        Sheets("Liste des soumissions").Select

         'Pour ouvrir la feuille de soumission de base


         Set WB = Application.Workbooks.Open(ActiveSheet.Range("A2").Text)


         MsgBox "Sélectionner le répertoire d'enregistrement"

        With fd

            .InitialFileName = "C:"

            If .Show = -1 Then

                ActiveWorkbook.SaveAs soumission & "-" & description & ".xls"

                MsgBox "La création des dossiers et des fichiers de la soumission # " & soumission & " est terminé"

          
End If

        End With

    End With


End Sub

fin du nettoyage !!!!!
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
chan33 Messages postés 36 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 5 février 2009
9 déc. 2008 à 19:10
Merci beaucoup !

J'ai corrigé mon code comme tu m'as mentionné, ça fonctionne très bien.


Tu as été d'une grande gentillesse et je t'en remercie infiniment.


Maintenant, j'ai un dernier petit problème, je ne sais pas comment appeler le fichier nprojet & Gestion de temps.xls voici un autre code pour que lorsque la soumission est acceptée mon problème ce situe au niveau de ce qui est inscrit en ROSE.

Sub SoumissionAcceptee()


'Macro creee le 28 aout 2008 par Chantal Caron


'Definition des variables
    Dim Position, nomsoum, nsoumission, nclient, ndescrip, nprojet, projet
    Dim LigneACopier As Long
    Dim Reponse As Long
    Dim Result As Range: Dim LigneSelected As Long
    Dim Result2 As Range
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    Dim FSO As New FileSystemObject
    Dim chemin As Variant
    Dim cheminsoum As String
    Dim chemintemps As String


Sheets("Liste des soumissions").Select
Application.InputBox("Selectionner la ligne de la soumission à convertir", "Selection", , , , , », 8).Activate
       
       
nomsoum = ActiveCell.Row
nsoumission = Range("A" & nomsoum).Value
nclient = Range("C" & nomsoum).Value
ndescrip = Range("B" & nomsoum).Value
projet = Range("D" & nomsoum).Value




'Deproteger les feuilles


    Sheets("Échéanciers").Unprotect
    Sheets("Liste des soumissions").Unprotect
    Sheets("Liste des projets").Unprotect
    Sheets("Inventaire composant réservoir").Unprotect
  
'Inscription des specifications du projet
    Sheets("Échéanciers").Select
    Position = Range("F1").Value
    Range("F1").Value = Position + 1
    Range("C" & Position - 1).Select
    projet = Right(Range("C" & Position - 1).Value, 4) + 1
    projet = "R" & IIf((projet < 1000), "0", vbNullString) & projet
    MsgBox "Nouveau projet : " & projet
    Range("C" & Position).Value = projet
    Sheets("Liste des soumissions").Select
    Range("G" & nomsoum) = projet
 
     
'Copier le nom du client et la description dans la feuille Échéanciers
    Sheets("Échéanciers").Select
    Range("D" & Position).Value = ndescrip
    Range("E" & Position).Value = nclient
   
'Copie du numero de projet, du client et de la description dans la feuille "Liste des projets"


    Sheets("Liste des projets").Select
    position2 = Range("B2").Value
    Range("B2").Value = position2 + 1
    Worksheets("Échéanciers").Range("C" & Position).Copy _
        Destination:=Worksheets("Liste des projets").Range("A" & position2)
    Worksheets("Échéanciers").Range("D" & Position).Copy _
        Destination:=Worksheets("Liste des projets").Range("B" & position2)
    Worksheets("Échéanciers").Range("E" & Position).Copy _
        Destination:=Worksheets("Liste des projets").Range("C" & position2)
       
 
   
'Renommer les dossiers et fichiers
  
   
    MsgBox "Sélectionner le répertoire des dossiers et fichiers à renommé"
    With fd
        .InitialFileName = "C:"
   
    If .Show = -1 Then
    For Each chemin In .SelectedItems
    MsgBox "Renomme les fichiers, appuyer sur OK"
        Name nsoumission & "-" & ndescrip As projet & "-" & nclient
        Name projet & "-" & nclient & "\Temps et matériel" & nsoumission & " Gestion projet.xls" As projet & "-" & nclient & "\Temps et matériel" & projet & " Gestion projet.xls"
 
  'ICI JE VOUDRAIS QU'IL OUVRE LE FICHIER projet & " Gestion de projet.xls" et qu'il inscrivre le numéro du projet sur la ligne spécifier
 
  'Workbooks.Open Filename:= _ ???
  Sheets("Temps").Select
  Range("B2").Value = projet
  ActiveWorkbook.Save
  ActiveWindow.Close
 
       
       
 'Création des liens avec la gestion du temps
    Workbooks.Open Filename:= _
    chemintemps
    Sheets("Temps").Select
    Windows("Liste des projets 2009.xls").Activate
    Sheets("Liste des projets").Select
    Range("F" & position2).Select
    ActiveCell.FormulaR1C1 = "='[" & projet & " Gestion projet.xls]Temps'!R1C3"
    Range("G" & position2).Select
    ActiveCell.FormulaR1C1 = "='[" & projet & " Gestion projet.xls]Temps'!R37C2"
    Range("H" & position2).Select
    ActiveCell.FormulaR1C1 = "='[" & projet & " Gestion projet.xls]Temps'!R38C2"
    Windows(projet & " Gestion projet.xls").Activate
    ActiveWorkbook.Save
    ActiveWindow.Close
   
 'Création des Hyperlinks
    Windows("Liste des projets 2009.xls").Activate
    Sheets("Liste des projets").Select
    Range("I" & position2).Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
    chemintemps _
    , TextToDisplay:= _
    chemin & "" & projet & "-" & description & "\Temps et matériel" & projet & " Gestion projet.xls"
   
 'Protéger les feuilles


    Sheets("Échéanciers").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Sheets("Liste des soumissions").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Sheets("Liste des projets").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Sheets("Inventaire composant réservoir").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    
 'Pour sélectionner la feuille "Échéanciers" à la fin de la macro
     
    Sheets("Échéanciers").Select 




End If
End With
MsgBox "La création des dossiers et des fichiers du projet # " & projet & "est terminée"


End Sub


Merci encore de ton aide !

Chantal
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
9 déc. 2008 à 19:50
    si je ne me suis pas trompé en lisant ton code  ton fichier projet se nomme
"C:" & projet & "-" & nclient & "\Temps et matériel" & projet & " Gestion projet.xls"

donc
 
 
 
  Workbooks.Open Filename:= "C:" & projet & "-" & nclient & "\Temps et matériel" & projet & " Gestion projet.xls"
  ActiveWorkbook.Save
  ActiveWindow.Close
workbooks.activate
Sheets("Temps").Select
  Range("B2").Value = projet
 
tu as vu j'ai changé l'ordre de tes lignes en rose
je n'ai pas testé  mais ça devrait marcher

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
chan33 Messages postés 36 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 5 février 2009
9 déc. 2008 à 19:57
Le problème c'est quand je sélectionne le répertoire, je ne sélectionne pas toujours le même, car j'enregistre le tout dans le dossier respectif de chaque client.

Voilà mon problème !

Merci beaucoup pour ta patience !

Chantal
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
9 déc. 2008 à 20:08
mais ton code ne gere pas plusieurs clients en meme temps ?
donc a ce point de ta macro c'est bien  le chemin du bon client ? non ?

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
chan33 Messages postés 36 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 5 février 2009
9 déc. 2008 à 20:21
Dans mon code quand je dis :

MsgBox "Sélectionner le répertoire des dossiers et fichiers à renommé"
With fd
.InitialFileName = "C:"

À ce moment, je dois choisir le répertoire P:\Réservoirs\Clients\

Et de là je lui dit dans quel dossier client je veux renommé les dossiers et fichiers.

Le problème, c'est que je défini jamais le dossier client

Peut-être qu'il a quelque chose que je ne comprends pas, mais pour moi je pense qu'il ne sait pas dans quel répertoire client, il faut qu'il prenne le fichier Gestion de temps.xls pour y copier le numéro de projet

Chantal
0
chan33 Messages postés 36 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 5 février 2009
9 déc. 2008 à 20:55
Tu as bien raison, ça fonctionne très bien.

Merci infiniment, tu as été d'une aide très précieuse.

À la prochaine !

Chantal
0
Rejoignez-nous