Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sauvegarder 1 feuil dans 1 dossier sous le Nom d'une cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MuscatMimi

XLDnaute Accro
Bonsoir a tous
dans un classeur avec plusieurs Feuil

J'aimerais pouvoir Enregistrer que la feuil1 de ce classeur
Dans un Dossier spécifique,
exemple : F:\Mes Documents Cat\Gestion

et que le Nom de ce nouveau classeur, reprenne le Libéllé de la cellule A1

sans que ce nouveau classeur , s'ouvre aprés Enregistrement

Merci a tous a l'avance ,pour votre aide
Cordialement
 
Re : Sauvegarder 1 feuil dans 1 dossier sous le Nom d'une cellule

Bonsoir vaucluse immo,

Code à mettre dans le module ThisWorkBook du classeur.

Un fichier modifié qui devrait faire l'affaire :

Private Sub Workbook_BeforeClose(cancel As Boolean)
Dim Rep As String, Fich1 As String, C As Byte, VBC As Object
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Rep = "F:\Mes Documents Cat\Gestion\"
Fich1 = Sheets("WORKSCOPE").Range("A1") & ".xls"
For C = 1 To Len(Fich1) 'test caractères interdits
If InStr("\/:*?""""<>|", Mid(Fich1, C, 1)) > 0 Then
MsgBox "Le nom en A1 contient des caractères interdits !"
cancel = True
Exit Sub
End If
Next
If Dir(Rep & Fich1) <> "" Then 'test existence fichier
Q = MsgBox(Fich1 & " existe déjà, voulez-vous le remplacer ?", vbYesNo)
If Q = 7 Then GoTo Ligne1 Else GoTo Ligne2
Else: GoTo Ligne2
End If
Ligne1:
cancel = True
Exit Sub
Ligne2:
ActiveWorkbook.SaveAs Rep & Fich1
With ActiveWorkbook.VBProject 'suppression code
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else
.VBComponents.Remove VBC
End If
Next VBC
End With

SendKeys "%O" 'enregistrement
End Sub

Cordialement

Bernard
 
Re : Sauvegarder 1 feuil dans 1 dossier sous le Nom d'une cellule

Salut CbernardT


Super ton code, ,grand merci

Je ne l'ai pas mis dans ThisworBook, mais dans un Bouton
ça fonctionne bien sauf......

j'ai mis pour exemple cellule A1

en fait c'est la cellule F4 avec ce N° A/08/015

Quand je note F4 dans le code que tu m'a donné, il n'en veut pas

Encore une chose, c'est que le classeur créé s'ouvre aprés enregistrement


A++++et merci de ton aide précieuse
 
Re : Sauvegarder 1 feuil dans 1 dossier sous le Nom d'une cellule

Re,

Attention aux caractères interdits dans le nom du fichier : "\/:*?""""<>|"

Un code modifié pour garder le fichier ouvert :

Sub Enregistrer()
Dim Rep As String, Fich1 As String, C As Byte, VBC As Object, Cancel, Q As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Rep = "F:\Mes Documents Cat\Gestion\"
Fich1 = Sheets("WORKSCOPE").Range("F4") & ".xls"
For C = 1 To Len(Fich1) 'test caractères interdits
If InStr("\/:*?""""<>|", Mid(Fich1, C, 1)) > 0 Then
MsgBox "Le nom en A1 contient des caractères interdits !"
Cancel = True
Exit Sub
End If
Next
If Dir(Rep & Fich1) <> "" Then 'test existence fichier
Q = MsgBox(Fich1 & " existe déjà, voulez-vous le remplacer ?", vbYesNo)
If Q = 7 Then GoTo Ligne1 Else GoTo Ligne2
Else: GoTo Ligne2
End If
Ligne1:
Cancel = True
Exit Sub
Ligne2:
ActiveWorkbook.SaveAs Rep & Fich1
End Sub

Cordialement

Bernard
 
Re : Sauvegarder 1 feuil dans 1 dossier sous le Nom d'une cellule

Bonjour, CbernardT et Le Forum

Est-il possible d'utiliser le de Deux Cellules au lieu d'une??

Exemple au lieu de "F4" prendre "F4" et "F6"

Concernant les caractéres interdit, j'avoue pas de suite avoir compris
je viens juste de percuter, la nuit porte conseil,

Bien sur quand on renomme ,ou nomme un fichier Excel ou autre ,
il y a des caractéres qui ne sont pas pris en compte
j'avais complétement oublié

Merci de ton aide précieuse , ainsi que le temps que a consacré a mon probléme

A bientôt et Bonne Journée
 
Dernière édition:
Re : Sauvegarder 1 feuil dans 1 dossier sous le Nom d'une cellule

Bonjour vaucluse immo,

Il suffit de modifier la ligne de code :

With Sheets("WORKSCOPE")
Fich1 = .Range("F4") & .Range("F4") & ".xls"
End With

Tu peux aussi modifier le message d'alerte :

MsgBox "Le nom en F4 et F6 contient des caractères interdits !"🙄


Cordialement

Bernard
 
Re : Sauvegarder 1 feuil dans 1 dossier sous le Nom d'une cellule

Bonjour,
J'avoue ne pas suivre
1) tu demandes l'enregistrement de la feuille 1 et non du classeur, or le code proposé enregistre tout le classeur
2) tu indiques vouloir utiliser F4 (et F6) mais on ne sait toujours pas de quelle feuille il s'agit
3) tu dis utiliser un bouton; si ce bouton est sur cette feuille 1, ne doit-il pas être supprimé sur la copie ?

Edit
Bonjour vaucluse immo,
With Sheets("WORKSCOPE")
Fich1 = .Range("F4") & .Range("F6") & ".xls"
End With
On ne connait pas le nom de la feuille !

A+
kjin
 
Dernière édition:
Re : Sauvegarder 1 feuil dans 1 dossier sous le Nom d'une cellule

Bonjour Kjin et re CbernardT


Kjin

Non j'ai modifié "WORKSCOP" par le Nom"de ma feuille en l'occurance le nom réél est "Facture"

Mon bouton est plaçé dans un Usf



tout fonctionne nickel, reste plus qu'a inclure le Nom de ma deuxiéme cellule

c'est a dire F6

pa contre si il y a des caractéres spécaiux d'introduit en cellule F4 ou F6

ça me met le message erreur ci-joint en photo


merci a tout les deux de vous être penché sur ce problème
 

Pièces jointes

Re : Sauvegarder 1 feuil dans 1 dossier sous le Nom d'une cellule

Re,
Tu n'as pas répondu à toutes les questions
Tu ne peux pas enregistrer un fichier avec des caractères interdits, donc si tu as le message d'erreur c'est que tu n'a pas laissé la routine qui teste justement ces caractères (ligne bleue du code)
En outre, il y a une routine qui teste l'existence ou non du fichier dans le répertoire spécifié
Code:
Private Sub CommandButton1_Click()
Dim Rep As String, Fich As String, C As Byte, Cancel, Q As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Rep = "F:\Mes Documents Cat\Gestion\"
Sheets("Facture").Copy
With ActiveWorkbook
    Fich = Range("F4") & Range("F6")
        For C = 1 To Len(Fich) 'test caractères interdits
            [COLOR="Blue"]If InStr("\/:*?""""<>|", Mid(Fich, C, 1)) > 0 [/COLOR]Then
            MsgBox "La cellule F4 ou F6 contient des caractères interdits !"
            Cancel = True
            Exit Sub
            End If
        Next
    If Dir(Rep & Fich & ".xls") <> "" Then 'test existence fichier
        Q = MsgBox(Fich & " existe déjà, voulez-vous le remplacer ?", vbYesNo)
        If Q = 7 Then GoTo Ligne1 Else GoTo Ligne2
        Else: GoTo Ligne2
    End If
    
Ligne1:
        Cancel = True
        Exit Sub
Ligne2:
        .SaveAs Rep & Fich & ".xls"
        .Close Savechanges:=True
End With
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub
A+
kjin
 
Re : Sauvegarder 1 feuil dans 1 dossier sous le Nom d'une cellule

Re Kjin

Ok pour ton code

Mais ,
a la sauvegarde de la feuille "Facture" Btn1

1 / ça me ferme mon classeur principal alors quil faut quil reste ouvert
'===================================================
2/ et il faut également que le classeur sauvegardé ne soit pas ouvert,lors de la Sauvegarde,apparament avec ton code ,il reste fermer
'====================================================
3/ Il me faudrait ,aussi un Message Box quand je Valide ma Facture avec le Btn 2
qui signalerait qu'il faut "Pensez a Enregistrer la Facture"
OU alors
je met ce Code dans le Bouton Validation, mais est ce raisonnable??,

a ++++++merci encore
 
Re : Sauvegarder 1 feuil dans 1 dossier sous le Nom d'une cellule

Re,
1 / ça me ferme mon classeur principal alors quil faut quil reste ouvert
Ca m'étonne beaucoup ! où alors qq précisions sont bienvenues
2/ et il faut également que le classeur sauvegardé ne soit pas ouvert,lors de la Sauvegarde,apparament avec ton code ,il reste fermer
Tu dis tout et son contraire ! Normalement il se ferme
A te lire, tu n'aurais plus aucun classeur ouvert
3/ Il me faudrait ,aussi un Message Box quand je Valide ma Facture avec le Btn 2
qui signalerait qu'il faut "Pensez a Enregistrer la Facture"
Tu peux très bien associer les deux, quel pourrait être le pb ?
A+
kjin
 

Pièces jointes

Re : Sauvegarder 1 feuil dans 1 dossier sous le Nom d'une cellule

Re Kjin

Je t'assure, le classeur principal, ce fermait, je l'ai dis
1 / ça me ferme mon classeur principal alors quil faut quil reste ouvert


2/ et il faut également que le classeur sauvegardé ne soit pas ouvert,lors de la Sauvegarde,apparament avec ton code ,il reste fermer
Le classeur (feuille Facture)lui ce sauvegardait et ne s'ouvrait pas ça je l'ai dis aussi

>Donc je vais mettre ce Code dans ma "Validation"

Me reste plus qu'a te dire un trés grand merci, pour ton aide, et du temps que a consacré , a mon sujet

A bientôt
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
796
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…