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 !
@+
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, "-")
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
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??
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...
- 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