Sauvegarde sans macro sous Excel 2010

Résolu/Fermé
Le manou - Modifié par Le manou le 4/01/2013 à 14:09
 Le manou - 5 janv. 2013 à 12:29
Bonjour,
J'ai un programme de facture qui tourne avec une macro.
Un léger problème se passe lorsque je désire enregistrer le fichier que j'ai créé.

Cela ouvre une fenêtre qui me propose de cliquer sur « OUI », si je veux enregistrer sans la macro ou « NON » si je désire enregistrer avec la macro.

Je ne voudrais pas que cette fenêtre apparaisse et que mon fichier s'auto-enregistre, mais sans la macro dont on a plus besoin après le traitement.

Ci-après les quelques lignes qui pourraient indiquer si ce que je fais est exact :

Workbooks(ModèleGen).Sheets(Onglet1).Activate
Nom_facture = [A19] & " - " & [G19] & " - " & [T10] & ".xlsx"

Workbooks(ClasseurEnTravail).Activate
ActiveWorkbook.SaveAs Filename:=RepSauve & Nom_facture
Workbooks(ActiveWorkbook.Name).Close SaveChanges:=False
MsgBox Nom_facture & Chr(13) & Chr(13) & " sauvegardée !"




A voir également:

2 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 4/01/2013 à 16:36
Bonjour,
Peut-être comme ça ?
En supposant que ModèleGen et Onglet1 soient des variables string.
Sub SauveEnX()  
    With Workbooks(ModèleGen).Sheets(Onglet1)  
        Nom_facture = .[A19] & " - " & .[G19] & " - " & .[T10] & ".xlsx"  
    End With  
    Application.DisplayAlerts = False  
    Workbooks(ClasseurEnTravail).SaveAs Filename:=RepSauve & Nom_facture, _  
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False  
    ActiveWorkbook.Close SaveChanges:=False 
    MsgBox Nom_facture & Chr(13) & Chr(13) & " sauvegardée !"  
    Application.DisplayAlerts = True  
End Sub

A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0
Bonjour,

Super cela fonctionne, moyennant quelque petites corrections dû à ma programmation.
Tel quel, ça a tout fermé, le classeur général et le classeur de travail !!!
Avec un peu de réflexion, j'ai simplement ajouté à la suite (au bon endroit évidemment) sans faire un sous-programme en prenant garde d'ouvrir le classeur de travail et en travaillant uniquement sur celui-là, ça fonctionne.
Je n'ai pas refermé « Application.DisplayAlerts » je n'en avais plus l'utilité.

Pour information, j'étais aller voir dans l'aide, j'ai bien vu la possibilité avec :
xlOpenXMLWorkbook
mais comme cela n'est pas spécifié sans macro, j'ai passé outre. Quant à :
Application.DisplayAlerts
je ne connaissais pas.

Je te mets la transformation ci-dessous à titre d'info :

Workbooks(ModèleGen).Sheets(Onglet1).Activate
Nom_facture = [A19] & " - " & [G19] & " - " & [I10] & ".xlsx"
Application.DisplayAlerts = False

Workbooks(ClasseurEnTravail).Activate
ActiveWorkbook.SaveAs Filename:=RepSauve & Nom_facture, _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Close SaveChanges:=False

If BV < 3 Then
MsgBox Nom_facture & Chr(13) & Chr(13) & " sauvegardé !"
Else
MsgBox Nom_facture & Chr(13) & Chr(13) & " sauvegardée !"
End If

Dans tous les cas, je te remercie beaucoup cela m'a été très utile.
Je te souhaite, ainsi qu'à toute ta famille et tes amis une excellente année 2013.
0