Se connecter avec
S'enregistrer | Connectez-vous

Aide VBA svp macro qui enregistre un contenu

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte

lu j'ai peut etrte une solution pour toi :
  1. Option Explicit
  2. Public dossier
  3. Public Type BROWSEINFO
  4. hOwner As Long
  5. pidlRoot As Long
  6. pszDisplayName As String
  7. lpszTitle As String
  8. ulFlags As Long
  9. lpfn As Long
  10. lParam As Long
  11. iImage As Long
  12. End Type
  13. '32-bit API declarations
  14. Declare Function SHGetPathFromIDList Lib "shell32.dll" _
  15. Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
  16. Declare Function SHBrowseForFolder Lib "shell32.dll" _
  17. Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
  18.  
  19. Function GetDirectory(Optional Msg) As String
  20. Dim bInfo As BROWSEINFO, path As String, r As Long, x As Long, pos As Integer
  21. bInfo.pidlRoot = 0&
  22. If IsMissing(Msg) Then
  23. bInfo.lpszTitle = ""
  24. Else
  25. bInfo.lpszTitle = Msg
  26. End If
  27. bInfo.ulFlags = &H1
  28. x = SHBrowseForFolder(bInfo)
  29. path = Space$(512)
  30. r = SHGetPathFromIDList(ByVal x, ByVal path)
  31. If r Then
  32. pos = InStr(path, Chr$(0))
  33. GetDirectory = Left(path, pos - 1)
  34. Else
  35. GetDirectory = ""
  36. End If
  37. End Function
  38. Sub File_Openen()
  39. Dim fs, i, namefile, FileNumber, specfichier, nbfiles, r, Srep, folder, ct
  40. dossier = GetDirectory("Choisit un dossier : ")
  41. If dossier <> "" Then
  42. Set fs = Application.FileSearch
  43. With fs
  44. .LookIn = dossier
  45. .SearchSubFolders = True
  46. .FileType = msoFileTypeAllFiles
  47. If .Execute() > 0 Then
  48. nbfiles = .FoundFiles.Count
  49. MsgBox "Il y a " & nbfiles & " Fichiers."
  50.  
  51. For i = 1 To nbfiles
  52. specfichier = .FoundFiles(i)
  53. Range("A" & i) = specfichier
  54. Next i
  55. End If
  56. End With
  57. End If
  58. End Sub

Ce programme te permet de selectionner un dossier puis il t'informe du nombre de fichiers contenu dans ce dossier puis il met les nom des fichier dans un tableau j'espere que c sa que tu cherche

ah ok ben tu peux deja utiliser le debut puis changer le code entre la boucle for et tu y mets de style :
  1. Workbooks.Open Filename:=specfichier

se qui donne :
  1. Option Explicit
  2. Public dossier
  3. Public Type BROWSEINFO
  4. hOwner As Long
  5. pidlRoot As Long
  6. pszDisplayName As String
  7. lpszTitle As String
  8. ulFlags As Long
  9. lpfn As Long
  10. lParam As Long
  11. iImage As Long
  12. End Type
  13. '32-bit API declarations
  14. Declare Function SHGetPathFromIDList Lib "shell32.dll" _
  15. Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
  16. Declare Function SHBrowseForFolder Lib "shell32.dll" _
  17. Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
  18.  
  19. Function GetDirectory(Optional Msg) As String
  20. Dim bInfo As BROWSEINFO, path As String, r As Long, x As Long, pos As Integer
  21. bInfo.pidlRoot = 0&
  22. If IsMissing(Msg) Then
  23. bInfo.lpszTitle = ""
  24. Else
  25. bInfo.lpszTitle = Msg
  26. End If
  27. bInfo.ulFlags = &H1
  28. x = SHBrowseForFolder(bInfo)
  29. path = Space$(512)
  30. r = SHGetPathFromIDList(ByVal x, ByVal path)
  31. If r Then
  32. pos = InStr(path, Chr$(0))
  33. GetDirectory = Left(path, pos - 1)
  34. Else
  35. GetDirectory = ""
  36. End If
  37. End Function
  38. Sub File_Openen()
  39. Dim fs, i, namefile, FileNumber, specfichier, nbfiles, r, Srep, folder, ct
  40. dossier = GetDirectory("Choisit un dossier : " )
  41. If dossier <> "" Then
  42. Set fs = Application.FileSearch
  43. With fs
  44. .LookIn = dossier
  45. .SearchSubFolders = True
  46. .FileType = msoFileTypeAllFiles
  47. If .Execute() > 0 Then
  48. nbfiles = .FoundFiles.Count
  49. MsgBox "Il y a " & nbfiles & " Fichiers."
  50.  
  51. For i = 1 To nbfiles
  52. specfichier = .FoundFiles(i)
  53. Workbooks.Open Filename:=specfichier
  54. Next i
  55. End If
  56. End With
  57. End If
  58. End Sub

cela ouvre tout les fichiers

Non c'est bon j'ai reussi à ouvrir tout les fichiers d'un dossier


' Code Visual Basic anglais
Sub ouvrir_fichiers()
'l'instruction ChDir permet de se positionner
'sur un répertoire précis
ChDir "c:\test\"
monfichier = Dir("*.*")
While monfichier <> ""
Workbooks.Open monfichier
monfichier = Dir()
Wend
End Sub


Mais maintenant comment faire pour ajouter en haut de chaque fichiers sur la 1ere ligne une en-tete avec 5 noms de colonnes .

en fait j'ouvre plusieurs classeurs, le nombre de classeurs dans ce dossier varie, et je voudrais pour chaque qui entrent lancer la macro et que la 1ere ligne d'en-tete s'ajoute pour tout les classeurs une fois qu'ils sont ouvert.
Expert Programmation

Dixit moderator: chamakh51, fais comme les autres, présente ton code correctement. (Lire les règles, Merci).

Ce code ne date pas d'hier, la vache ! Des While/Wend :ouch: 
Evite la fonction ChDir. Mets plutôt le chemin dans la fonction Dir.
En plus tu as oublié de déclarer la variable monfichier
Comme ça:
  1. Sub ouvrir_fichiers()
  2. Dim monfichier As String
  3. monfichier = Dir("c:\test\*.*" )
  4. Do While monfichier <> ""
  5. Workbooks.Open monfichier
  6.  
  7. ...
  8.  
  9. monfichier = Dir()
  10. Loop
  11. End Sub

zeb mon code fonctionne pour ouvrir tout mes classeurs excel mais maintenant je voudrais pouvoir ajouter une ligne d'en tete en haut de chaque classeur qui s'ouvre!
En fait je reçois un classeur avec la colonne A pleine de code je veux une macro qui m'insere une ligne d'en-tete avec les propriétés suivantes ("no" en colonne A , "no_etud" en colonne B, "nom" en colonne 3, "prenom" en colonne 4) sur la 1ere ligne .

Est-ce que quelqu'un peut m'adapter mon code pour que à chaque fois qu'un de mes fichiers s'ouvrent il y ajoute la ligne d'en-tete.

J'ai du mal avec les boucles.

  1. ' Code Visual Basic anglais
  2. Sub ouvrir_fichiers()
  3. 'l'instruction ChDir permet de se positionner
  4. 'sur un répertoire précis
  5. ChDir "C:\Documents and Settings\.....\Bureau\test\originaux"
  6. monfichier = Dir("*.*")
  7. While monfichier <> ""
  8. Workbooks.Open monfichier
  9. monfichier = Dir()
  10. Range("A1").Select
  11. Selection.EntireRow.Insert
  12. Windows.Item(1).ActivateNext
  13. Range("A1:G1").Select
  14. Selection.Copy
  15.  
  16. Windows.Item(1).ActivateNext
  17. ActiveSheet.Paste
  18. Windows.Item(1).ActivateNext
  19. Range("B2:G3").Select
  20. Application.CutCopyMode = False
  21. Selection.Copy
  22. Windows.Item(1).ActivateNext
  23. Range("B2").Select
  24. ActiveSheet.Paste
  25. Range("B2:G3").Select
  26. Application.CutCopyMode = False
  27. Application.CutCopyMode = False
  28. Selection.DataSeries Rowcol:=xlRows, Type:=xlLinear, Date:=xlDay, Step _
  29. :=1, Trend:=False
  30. ActiveWindow.SmallScroll Down:=-3
  31. Selection.AutoFill Destination:=Range("B2:G83"), Type:=xlFillDefault
  32. Range("B2:G83").Select
  33. Wend
  34.  
  35. 'enquete_satisfaction()_
  36. '
  37.  
  38. '
  39. ' Touche de raccourci du clavier: Ctrl+p
  40. '
  41. Range("A1").Select
  42. Selection.EntireRow.Insert
  43. Windows.Item(1).ActivateNext
  44. Range("A1:G1").Select
  45. Selection.Copy
  46.  
  47. Windows.Item(1).ActivateNext
  48. ActiveSheet.Paste
  49. Windows.Item(1).ActivateNext
  50. Range("B2:G3").Select
  51. Application.CutCopyMode = False
  52. Selection.Copy
  53. Windows.Item(1).ActivateNext
  54. Range("B2").Select
  55. ActiveSheet.Paste
  56. Range("B2:G3").Select
  57. Application.CutCopyMode = False
  58. Application.CutCopyMode = False
  59. Selection.DataSeries Rowcol:=xlRows, Type:=xlLinear, Date:=xlDay, Step _
  60. :=1, Trend:=False
  61. ActiveWindow.SmallScroll Down:=-3
  62. Selection.AutoFill Destination:=Range("B2:G83"), Type:=xlFillDefault
  63. Range("B2:G83").Select
  64. End Sub
Expert Programmation

Donc à la lecture de ton code, je m'aperçois qu'on peut te faire des commentaires, tu n'en a rien à battre.

Et bien en voilà encore deux :
  • Vire-moi tous les Select/Selection/ActiveMachin de ce code.
  • Au lieu de faire Copy / Paste / CutCopyMode = False, utilise simplement Copy Destination

    Expert Programmation

    Mr Propre te propose :
    1. Sub ouvrir_modifier_et_fermer_fichiers()
    2. Dim ClasseurDepart As Workbook
    3. Dim ClasseurAModifier As Workbook
    4.  
    5. Set ClasseurDepart = Workbooks("nom du classeur de départ")
    6.  
    7. monfichier = Dir("C:\Documents and Settings\.....\Bureau\test\originaux\*.*")
    8. Do While monfichier <> ""
    9. Set ClasseurAModifier = Workbooks.Open(monfichier)
    10.  
    11. ClasseurAModifier.Worksheets(1).Rows(1).Insert
    12. ClasseurDepart.Worksheets(1).Range("A1:G1").Copy ClasseurAModifier.Worksheets(1).Range("A1:G1")
    13. ClasseurDepart.Worksheets(1).Range("B2:G3").Copy ClasseurAModifier.Worksheets(1).Range("B2:G3")
    14.  
    15. ClasseurAModifier.Worksheets(1).Range("B2:G3").DataSeries Rowcol:=xlRows, Type:=xlLinear, Date:=xlDay, Step:=1, Trend:=False
    16. ClasseurAModifier.Worksheets(1).Range("B2:G3").AutoFill Destination:=Range("B2:G83"), Type:=xlFillDefault
    17.  
    18. ClasseurAModifier.Save
    19. ClasseurAModifier.Close
    20.  
    21. monfichier = Dir()
    22. Loop
    23. Set ClasseurAModifier = Nothing
    24. Set ClasseurDepart = Nothing
    25. End Sub

    Zeb j'ai alors mon fichier excel avec mon en-tete en 1ere ligne sur 7 colonnes, puis une liste de codes en Colonne A, je voudrais pour la ligne 2 colonne B mettre le code 01 , pour la ligne 3 colonne B -> 02 ,pour la ligne 4 colonne B -> 03 .... jusqu'à ce que je n'ai plus de code en colonne A sachant que le nombre de lignes varient en fonction des fichiers. J'ai essayé avec une formule SI mais elle beug un peu.

    Je ne sais pas si j'ai étais clair donc si tu peux m'aider ce serait sympa

    merci
    Expert Programmation

    Freeman23, pas de problème ;)  ton attitude qui n'encourage pas à la fainéantise est plutôt dans l'esprit du forum, mais avec le module de recherche de PPC, il est pas au bout de ces peines. A moins de tout lire :( 

    chamakh51, fais le à la main avec l'enregistreur de macro démarré.
    Spoiler
    Tu découvriras la fonction End.

    Je l'ai déjà fais mais j'ai un probleme avec la variable du nom de fichier.

    ActiveWorkbook.SaveAs Application.GetSaveAsFilename, Filename:="....", ReadOnlyRecommended:=True

    je ne sais pas quoi mettre dans filename. La variable des noms de classeur est "nomfichier"

    Voici une partie de mon code :
    1. ' Code Visual Basic anglais
    2. Sub ouvrir_fichiers()
    3. 'l'instruction ChDir permet de se positionner
    4. 'sur un répertoire précis
    5. ChDir "C:\Documents and Settings\....\Bureau\test\originaux"
    6. monfichier = Dir("*.xls")
    7. While monfichier <> ""
    8. Workbooks.Open monfichier
    9. ......
    10. ......
    11.  
    12. ActiveWorkbook.SaveAs Application.GetSaveAsFilename, Filename:=monfichier, ReadOnlyRecommended:=True
    13.  
    14. ActiveWindow.ScrollRow = 1
    15. Range("A1").Select
    16.  
    17. monfichier = Dir()
    18. Wend
    19. End Sub

    Expert Programmation

    Pense surtout à relire le manuel à la page SaveAs.

    Soit tu donnes les paramètres dans l'ordre, soit tu précises le nom du paramètre suivi de := . Mais tu ne mélanges pas tout.

    non c bon voice la solution :
    1. ' Code Visual Basic anglais
    2. Sub ouvrir_fichiers()
    3. Dim monfichier
    4. 'l'instruction ChDir permet de se positionner
    5. 'sur un répertoire précis
    6. ChDir "C:\Documents and Settings\....\Bureau\test\originaux"
    7. monfichier = Dir("*.xls")
    8. While monfichier <> ""
    9. Workbooks.Open monfichier
    10. ......
    11. ......
    12. ActiveWorkbook.SaveAs Filename:=monfichier, ReadOnlyRecommended:=True
    13.  
    14. ActiveWindow.ScrollRow = 1
    15. Range("A1").Select
    16.  
    17. monfichier = Dir()
    18. Wend
    19. End Sub
    Expert Programmation

    hoegarden, fais-toi virer son salaire sur ton compte.

    chamakh, appuye sur la touche F1, tu vas voir apparaître par magie une application qui s'appelle "Microsoft Visual Basic: Aide". Incroyable !

    Dans ton éditeur VBA, écris "WorkBook". Sélectionne ce mot et appuye sur F1. Clique sur "Propriété". Tu vas obtenir la liste de toutes les propriétés d'un classeur. Dans tout ce bazar, je suis sûr que tu finiras par trouver quelque chose pour renvoyer le nom du classeur.

    Toujours pas !

    1. ' Code Visual Basic anglais
    2. Sub ouvrir_fichiers()
    3. 'l'instruction ChDir permet de se positionner
    4. 'sur un répertoire précis
    5. ChDir "C:\Documents and Settings\....\Bureau\test\originaux"
    6. monfichier = Dir("*.xls")
    7. While monfichier <> ""
    8. Workbooks.Open monfichier
    9. 'Insertion d'une ligne sur la 1ere ligne
    10. Cells(1, 1).Select
    11. Selection.EntireRow.Insert
    12. 'Propriétés de l'en-tete (ligne, colonne)
    13. Cells(1, 1) = "no"
    14. Cells(1, 2) = "no_etud"
    15. Cells(1, 3) = "nom"
    16. Cells(1, 4) = "prenom"
    17. Cells(1, 5) = "prenom2"
    18. Cells(1, 6) = "salle"
    19. Cells(1, 7) = "place"
    20.  
    21. 'compte le nombre de lignes
    22. Dim nbLignes As Long
    23. nbLignes = Cells.Find("*", Range("A1"), , , xlByRows, xlPrevious).Row
    24. 'MsgBox "La dernière ligne contenant des données est la ligne " & nbLignes
    25.  
    26. 'Recopie jusqu'à ce qu'il n'y est plus rien en colonne A
    27. Range("B2").Select
    28. ActiveCell.FormulaR1C1 = "no_etud_01"
    29. Range("B3").Select
    30. ActiveCell.FormulaR1C1 = "no_etud_02"
    31. Range("B4").Select
    32. ActiveCell.FormulaR1C1 = "no_etud_03"
    33. Range("B2").Select
    34.  
    35. Selection.AutoFill Destination:=Range("B2:B" & CStr(nbLignes)), Type:=xlFillDefault
    36.  
    37.  
    38. 'Recopie jusqu'à ce qu'il n'y est plus rien en colonne A
    39. Range("C2").Select
    40. ActiveCell.FormulaR1C1 = "nom_01"
    41. Range("C3").Select
    42. ActiveCell.FormulaR1C1 = "nom_02"
    43. Range("C4").Select
    44. ActiveCell.FormulaR1C1 = "nom_03"
    45. Range("C2").Select
    46.  
    47. Selection.AutoFill Destination:=Range("C2:C" & CStr(nbLignes)), Type:=xlFillDefault
    48.  
    49. 'Recopie jusqu'à ce qu'il n'y est plus rien en colonne A
    50. Range("D2").Select
    51. ActiveCell.FormulaR1C1 = "prenom_01"
    52. Range("D3").Select
    53. ActiveCell.FormulaR1C1 = "prenom_02"
    54. Range("D4").Select
    55. ActiveCell.FormulaR1C1 = "prenom_03"
    56. Range("D2").Select
    57.  
    58. Selection.AutoFill Destination:=Range("D2:D" & CStr(nbLignes)), Type:=xlFillDefault
    59.  
    60.  
    61. 'Recopie jusqu'à ce qu'il n'y est plus rien en colonne A
    62. Range("E2").Select
    63. ActiveCell.FormulaR1C1 = "prenom2_01"
    64. Range("E3").Select
    65. ActiveCell.FormulaR1C1 = "prenom2_02"
    66. Range("E4").Select
    67. ActiveCell.FormulaR1C1 = "prenom2_03"
    68. Range("E2").Select
    69.  
    70. Selection.AutoFill Destination:=Range("E2:E" & CStr(nbLignes)), Type:=xlFillDefault
    71.  
    72.  
    73. 'Recopie jusqu'à ce qu'il n'y est plus rien en colonne A
    74. Range("F2").Select
    75. ActiveCell.FormulaR1C1 = "salle_01"
    76. Range("F3").Select
    77. ActiveCell.FormulaR1C1 = "salle_02"
    78. Range("F4").Select
    79. ActiveCell.FormulaR1C1 = "salle_03"
    80. Range("F2").Select
    81.  
    82. Selection.AutoFill Destination:=Range("F2:F" & CStr(nbLignes)), Type:=xlFillDefault
    83.  
    84.  
    85. 'Recopie jusqu'à ce qu'il n'y est plus rien en colonne A
    86. Range("G2").Select
    87. ActiveCell.FormulaR1C1 = "place_01"
    88. Range("G3").Select
    89. ActiveCell.FormulaR1C1 = "place_02"
    90. Range("G4").Select
    91. ActiveCell.FormulaR1C1 = "place_03"
    92. Range("G2").Select
    93.  
    94. Selection.AutoFill Destination:=Range("G2:G" & CStr(nbLignes)), Type:=xlFillDefault
    95.  
    96. ActiveWorkbook.Save
    97.  
    98.  
    99. ActiveWorkbook.SaveAs Filename:=monfichier
    100.  
    101.  
    102.  
    103. ActiveWindow.ScrollRow = 1
    104. Range("A1").Select
    105.  
    106.  
    107. monfichier = Dir()
    108. Wend
    109. End Sub

    en fait le fichier qui est ouvert dans le dossier originaux je veux sauvegarder par dessu puisque dans ma macro je l'ai modifié, une fois sauvegardé dans "originaux", je veux qui'ils se sauvegardent dans un autre dossier qui s'apel "modifier" et par la suite je mettrais l'attribut texte comme je le veux en txt.
    Mais le enregistrer-sous avec le nom du fichier en variable ne fonctionne pas

    tiens et regarde si sa te convient
    1. ' Code Visual Basic anglais
    2. Sub ouvrir_fichiers()
    3. 'l'instruction ChDir permet de se positionner
    4. 'sur un répertoire précis
    5. ChDir "C:\Documents and Settings\boermansj\My Documents\test\"
    6. monfichier = Dir("*.xls")
    7. While monfichier <> ""
    8. Workbooks.Open monfichier
    9. 'Insertion d'une ligne sur la 1ere ligne
    10. Cells(1, 1).Select
    11. Selection.EntireRow.Insert
    12. 'Propriétés de l'en-tete (ligne, colonne)
    13. Cells(1, 1) = "no"
    14. Cells(1, 2) = "no_etud"
    15. Cells(1, 3) = "nom"
    16. Cells(1, 4) = "prenom"
    17. Cells(1, 5) = "prenom2"
    18. Cells(1, 6) = "salle"
    19. Cells(1, 7) = "place"
    20.  
    21. 'compte le nombre de lignes
    22. Dim nbLignes As Long
    23. nbLignes = Cells.Find("*", Range("A1"), , , xlByRows, xlPrevious).Row
    24. 'MsgBox "La dernière ligne contenant des données est la ligne " & nbLignes
    25.  
    26. 'Recopie jusqu'à ce qu'il n'y est plus rien en colonne A
    27. Range("B2").Select
    28. ActiveCell.FormulaR1C1 = "no_etud_01"
    29. Range("B3").Select
    30. ActiveCell.FormulaR1C1 = "no_etud_02"
    31. Range("B4").Select
    32. ActiveCell.FormulaR1C1 = "no_etud_03"
    33. Range("B2").Select
    34.  
    35. Selection.AutoFill Destination:=Range("B2:B" & CStr(nbLignes)), Type:=xlFillDefault
    36.  
    37.  
    38. 'Recopie jusqu'à ce qu'il n'y est plus rien en colonne A
    39. Range("C2").Select
    40. ActiveCell.FormulaR1C1 = "nom_01"
    41. Range("C3").Select
    42. ActiveCell.FormulaR1C1 = "nom_02"
    43. Range("C4").Select
    44. ActiveCell.FormulaR1C1 = "nom_03"
    45. Range("C2").Select
    46.  
    47. Selection.AutoFill Destination:=Range("C2:C" & CStr(nbLignes)), Type:=xlFillDefault
    48.  
    49. 'Recopie jusqu'à ce qu'il n'y est plus rien en colonne A
    50. Range("D2").Select
    51. ActiveCell.FormulaR1C1 = "prenom_01"
    52. Range("D3").Select
    53. ActiveCell.FormulaR1C1 = "prenom_02"
    54. Range("D4").Select
    55. ActiveCell.FormulaR1C1 = "prenom_03"
    56. Range("D2").Select
    57.  
    58. Selection.AutoFill Destination:=Range("D2:D" & CStr(nbLignes)), Type:=xlFillDefault
    59.  
    60.  
    61. 'Recopie jusqu'à ce qu'il n'y est plus rien en colonne A
    62. Range("E2").Select
    63. ActiveCell.FormulaR1C1 = "prenom2_01"
    64. Range("E3").Select
    65. ActiveCell.FormulaR1C1 = "prenom2_02"
    66. Range("E4").Select
    67. ActiveCell.FormulaR1C1 = "prenom2_03"
    68. Range("E2").Select
    69.  
    70. Selection.AutoFill Destination:=Range("E2:E" & CStr(nbLignes)), Type:=xlFillDefault
    71.  
    72.  
    73. 'Recopie jusqu'à ce qu'il n'y est plus rien en colonne A
    74. Range("F2").Select
    75. ActiveCell.FormulaR1C1 = "salle_01"
    76. Range("F3").Select
    77. ActiveCell.FormulaR1C1 = "salle_02"
    78. Range("F4").Select
    79. ActiveCell.FormulaR1C1 = "salle_03"
    80. Range("F2").Select
    81.  
    82. Selection.AutoFill Destination:=Range("F2:F" & CStr(nbLignes)), Type:=xlFillDefault
    83.  
    84.  
    85. 'Recopie jusqu'à ce qu'il n'y est plus rien en colonne A
    86. Range("G2").Select
    87. ActiveCell.FormulaR1C1 = "place_01"
    88. Range("G3").Select
    89. ActiveCell.FormulaR1C1 = "place_02"
    90. Range("G4").Select
    91. ActiveCell.FormulaR1C1 = "place_03"
    92. Range("G2").Select
    93.  
    94. Selection.AutoFill Destination:=Range("G2:G" & CStr(nbLignes)), Type:=xlFillDefault
    95. ActiveWorkbook.Save
    96. folder = InputBox(ct, "Entrer un nom pour creer un nouveau dossier : ", "nom dossier")
    97.  
    98. MkDir ("C:\Documents and Settings\boermansj\My Documents\test\" & folder)
    99. ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\boermansj\My Documents\test\" & folder & "\" & monfichier
    100.  
    101.  
    102.  
    103. ActiveWindow.ScrollRow = 1
    104. Range("A1").Select
    105.  
    106.  
    107. monfichier = Dir()
    108. Wend
    109. End Sub

    toujours un message d'erreur hoegarden31

    Pour le input.... je n'ai pas besoin de créer le dossier, il se créait automatiquement à partir d'une autre macro.
    Je voudrais que les fichiers s'enregistrent dans le dossier dejà créer.


    lol c bizzare parce que chez moi c marche comme il faut
    ok pour le input donc tu l'enleve mais il faut que tu garde le "Mkdir"
    pour qu'il se positionne dans le bon dossier puis tu remplace "folder" par la variable de ton dossier creer par l'autre macro et tu verifie si elle est bien en public
    (attention zeb ne va pas etre content)
    Lassé par la pub ? Créez un compte