Macro enregistrer

adi399

XLDnaute Occasionnel
Bonjour à tous,
Problème:

je voudrais que lorsque la personne clique sur un bouton, l'écran d'enregistrer sous apparraisse dans un dossier défini, qui contient lui même plusieurs autres dossiers que viendrai selectionner manuellement la personne pour enregistrer.

Je n'arrive pas à créer une macro en automatique pour la modifier ensuite... :s
Merci d'avance de votre aide !
@+
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Macro enregistrer

Re,

regarde ceci, devrait t'aider écarte les valeurs à "0" et les doublons...
Code:
Dim c As Range, s() As Variant, i As Byte
ReDim s(0)
For Each c In Range("F10:L10")
    If c.Value > 0 And IsError(Application.Match(c.Value, s, 0)) Then
        ReDim Preserve s(0 To i)
        s(i) = c.Value: i = i + 1
    End If
Next c
MsgBox Join(s, "-")
 

adi399

XLDnaute Occasionnel
Re : Macro enregistrer

Rebonjour,

je bien peur de devoir répéter ma précédente question sur la récuperation du nom de fichier dans le chemin d'accès d'enregistrement. la première réponse(https://www.excel-downloads.com/threads/recuperation-nom-du-fichier.172380/) que m'a été donné fonctionne avec mon premier code mais j'ai essayer d'appliquer à mon autre code et je bute encore et encore:mad:

Dsl si pour vous ma question est répétitive!!

mon autre code varie un peu du précédent:

Private Sub CommandButton5_click()

Dim f As String
f = ActiveWorkbook.FullName
ChDir _
"S:\dossier\dossier1\dossier2\dossier3"
ActiveWorkbook.SaveAs Filename:= _
"S:\dossier\dossier1\dossier2\dossier3\nom du fichier figé.xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Kill f
Application.Quit
End Sub

Je voudrai par la suite copier coller ce code donc le nom du fichier doit changer automatiquement. comment modifier ce code??

merci d'avance
 

adi399

XLDnaute Occasionnel
Re : Macro enregistrer

Hello le forum!
tous d'abord j'ai bien avancé mon projet grâce à vous et je remercie tous ceux qui m'on aidé!

J'ai une autre question pour essayer de l'améliorer encore!

J'ai un classeur qui contient une feuil2.
Sur cette feuil2 j'ai crée un userform de saisie.

J'essaye de modifié la fin mon code pour que, lorsque je clique sur valider, la macro enregistre une copie de feuil2 dans un nouvel onglet juste à la suite et masque cette nouvelle feuille de copie.

le problème est que je n'arrive pas à dire au code que à chaque fois que je clique sur valider, je veux que la copie écrase la précédente...

voila mon code créée automatiquement:

Sheets("Feuil2").Select
Sheets("Feuil2").Copy After:=Sheets(1)
Sheets("Feuil2 (2)").Select
ActiveWindow.SelectedSheets.Visible = False

Dit-moi si vous avez besoin de précision...!
 

adi399

XLDnaute Occasionnel
Re : Macro enregistrer

Bonjour le forum.

J'ai bricolé un code qui me permet de:

- ouvrir la fenêtre enregistrer sous au niveau d'un dossier spécifique "archivage", (la suite de l'enregistrement est réalisé manuellement.)
- ajouter à la suite du nom du fichier à enregistré, le contenu de plusieurs case à l'interieur du fichier, en évitant les doublons.
-de suppimer le fichier de l'emplacement initial après enregistrement.

Mon code fonctionne parfaitement sur mon disque local. mais voila le problème quand je dois ouvrir un fichier sur un réseau type \\srvfile1\ , patatra ^^:
Mon code ne m'ouvre pas le dossier archivage ( mais un autre emplacement)et ce même avec le bon chemin d'accès :
ChDrive "srvfile1"
ChDir "\\srvfile1\dossier\dossier2\Archivage"


Merci à tous ceux qui voudront m'aider!!!!!

PHP:
Private Sub CommandButton3_Click()
Dim f As String
Dim FileSVG As Variant
f = ActiveWorkbook.FullName
[B]ChDrive "srvfile1"
ChDir "\\srvfile1\dossier\dossier2\Archivage" [/B]
Dim tab_exemple(11) 
For I = 0 To 11
    tab_exemple(I) = ""
Next

Dim doublon As Integer
doublon = 0


For I = 0 To 11
    If tab_exemple(I) = [D10].Value Then
        doublon = 1
    End If
    If doublon = 0 And tab_exemple(I) = "" Then
        tab_exemple(I) = [D10].Value
        I = 11
    End If
Next
doublon = 0
For I = 0 To 11
    If tab_exemple(I) = [E10].Value Then
        doublon = 1
    End If
    If doublon = 0 And tab_exemple(I) = "" Then
        tab_exemple(I) = [E10].Value
        I = 11
    End If
Next
doublon = 0
For I = 0 To 11
    If tab_exemple(I) = [F10].Value Then
        doublon = 1
    End If
    If doublon = 0 And tab_exemple(I) = "" Then
        tab_exemple(I) = [F10].Value
        I = 11
    End If
Next
doublon = 0
For I = 0 To 11
    If tab_exemple(I) = [G10].Value Then
        doublon = 1
    End If
    If doublon = 0 And tab_exemple(I) = "" Then
        tab_exemple(I) = [G10].Value
        I = 11
    End If
Next
doublon = 0
For I = 0 To 11
    If tab_exemple(I) = [H10].Value Then
        doublon = 1
    End If
    If doublon = 0 And tab_exemple(I) = "" Then
        tab_exemple(I) = [H10].Value
        I = 11
    End If
Next
doublon = 0
For I = 0 To 11
    If tab_exemple(I) = [I10].Value Then
        doublon = 1
    End If
    If doublon = 0 And tab_exemple(I) = "" Then
        tab_exemple(I) = [I10].Value
        I = 11
    End If
Next
doublon = 0
For I = 0 To 11
    If tab_exemple(I) = [J10].Value Then
        doublon = 1
    End If
    If doublon = 0 And tab_exemple(I) = "" Then
        tab_exemple(I) = [J10].Value
        I = 11
    End If
Next
doublon = 0
For I = 0 To 11
    If tab_exemple(I) = [K10].Value Then
        doublon = 1
    End If
    If doublon = 0 And tab_exemple(I) = "" Then
        tab_exemple(I) = [K10].Value
        I = 11
    End If
Next
doublon = 0
For I = 0 To 11
    If tab_exemple(I) = [L10].Value Then
        doublon = 1
    End If
    If doublon = 0 And tab_exemple(I) = "" Then
        tab_exemple(I) = [L10].Value
        I = 11
    End If
Next
doublon = 0
For I = 0 To 11
    If tab_exemple(I) = [M10].Value Then
        doublon = 1
    End If
    If doublon = 0 And tab_exemple(I) = "" Then
        tab_exemple(I) = [M10].Value
        I = 11
    End If
Next
doublon = 0
For I = 0 To 11
    If tab_exemple(I) = [N10].Value Then
        doublon = 1
    End If
    If doublon = 0 And tab_exemple(I) = "" Then
        tab_exemple(I) = [N10].Value
        I = 11
    End If
Next
doublon = 0
For I = 0 To 11
    If tab_exemple(I) = [O10].Value Then
        doublon = 1
    End If
    If doublon = 0 And tab_exemple(I) = "" Then
        tab_exemple(I) = [O10].Value
        I = 11
    End If
Next
FileSVG = Application.GetSaveAsFilename(InitialFileName:=ActiveWorkbook.Name & "-" & (tab_exemple(0)) & "-" & (tab_exemple(1)) & "-" & (tab_exemple(2)) & "-" & (tab_exemple(3)) & "-" & (tab_exemple(4)) & "-" & (tab_exemple(5)) & "-" & (tab_exemple(6)) & "-" & (tab_exemple(7)) & "-" & (tab_exemple(8)) & "-" & (tab_exemple(9)) & "-" & (tab_exemple(10)) & "-" & (tab_exemple(11)) & ".xls", fileFilter:="Fichiers Excel (*.xls), *.xls", Title:="Archiver")
 If FileSVG = False Then MsgBox "Enregistrement annulée": Exit Sub 
 ActiveWorkbook.SaveAs FileSVG
 Kill f 
UserForm2.Hide 
Application.Quit 
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 194
Messages
2 086 070
Membres
103 110
dernier inscrit
Privé