Ouverture d'une fenêtre enregistrement / erreur lors de l'enregistrement?

Signaler
Messages postés
50
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
28 août 2009
-
Messages postés
50
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
28 août 2009
-
Bonjour,

Suite à cette macro qui modifie une partie de mon fichier je souhaiterai qu'une fenêtre "Enregistrer sous" s'ouvre automatiquement, ce qui se fait...
Le problème c'est qu'après je rentre le nom sous lequel je souhaite enregistrer je clique sur "enregistrer" mais rien ne se passe: la fenêtre se ferme et mon fichier n'est enregistré nulle part??

Sub Chgmt_Année()

Dim i As Integer
Dim j As Integer

i = 4
Do While i < 300
If Cells(i, 21) = "OUI" Then
Cells(i, 20).Select
Selection.Copy
Cells(i, 11).Select
ActiveSheet.Paste
End If
i = i + 1
Loop
Columns("U:U").Select
Selection.ClearContents

For j = 4 To 101
Cells(j, 10).Select
ActiveCell.FormulaR1C1 = _
"=IF(OR(RC[1]=""fin de vie"",RC[-2]=""DMS""),0,RC[-2])"
Next j

Application.FileDialog(msoFileDialogSaveAs).Show


End Sub

Merci pour votre aide

Roberto

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Salut
FileDialog ne s'occupe pas de sauver ton fichier, mais seulement de proposer une interface permettant de saisir le chemin et le nom du fichier.
A toi ensuite de lire le chemin et le nom pour exécuter la sauvegarde :
With Application.FileDialog(msoFileDialogSaveAs)
    If .Show = -1 Then
        SaveAs .SelectedItems(1)
    End If
End With


Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
50
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
28 août 2009

Bonjour Jack,

Merci pour la réponse.

- ya un truc qui cloche; on me demande de définir SaveAS. alors si je le met en string ou en integer on me dit "qualificateur incorrect"?

- il faut que je mette un truc à la place du (1) ou ya pas besoin?

Roberto
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
SaveAs fait partie des instructions VBA, bizarre qu'il ne la reconnaisse pas.
Tu es sous Excel, Word, ... ?
Non, puisque, lors d'un Save, tu es sensé ne sélectionner (ou écrire) qu'un seul nom de fichier, le premier élément de Item (qui est obligatoirement un 'tableau') est le nom choisi, avec son chemin.
Ce 'tableau' sert en cas de multi-sélection (voir exemple de l'aide)
Le test "Show = -1" car Show renverra 0 si tu as annulé

Si tu ne t'en sorts pas avec le FileDialog, tu peux te rabattre sur le CommonDialog de VB6 : contrôle ActiveX (présent dans n'importe quel XP) à placer sur un UserForm

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
50
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
28 août 2009

Merci,

Pour info j'ai fais comme suit

SendKeys ("Nom_fichier")
Application.Dialogs(xlDialogSaveAs).Show

comme ça l'utilisateur à le choix d'enregistrer ou non et sous le nom qu'il souhaite

Roberto RIQUELME