OVH Cloud OVH Cloud

proposition pour enregistrer

6 réponses
Avatar
JACK 43
Bonjour,

Je souhaite vous soumettre une macro. voilà mon besoin

je veus que l'utilisateur qui lorsqu'il quitte une cellule la B2, la boite
dialogue enregistrer s'ouvre, elle s'ouvre sur le chemin suivant
C:\utilisat\métédis

J'ai fait la macro suivante mais elle ne fonctionne pas ou plutôt elle
fonctionne mais n'ouvre sous les répertoires par défaut.


MERCI et A +


Dim mémo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If mémo = "$D$2" Then
'Application.Dialogs(xlDialogSaveAs).Show
Application.Dialogs(xlDialogOpen).Show "c:\utilisat\métédis\*.xls"
mémo = Null
Else
mémo = Target.Address
End If
End Sub

6 réponses

Avatar
LSteph
Bonsoir Jack,
(S'il faut changer d'unité utiliser chdrive)
Pour changer de répertoire chdir
exemple:
'
ChDrive "c:"
ChDir "c:toto"
Application.Dialogs(xlDialogSaveAs).Show
'

'lSteph



"JACK 43" (sansspam)> a écrit dans le message de
news:
Bonjour,

Je souhaite vous soumettre une macro. voilà mon besoin

je veus que l'utilisateur qui lorsqu'il quitte une cellule la B2, la boite
dialogue enregistrer s'ouvre, elle s'ouvre sur le chemin suivant
C:utilisatmétédis

J'ai fait la macro suivante mais elle ne fonctionne pas ou plutôt elle
fonctionne mais n'ouvre sous les répertoires par défaut.


MERCI et A +


Dim mémo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If mémo = "$D$2" Then
'Application.Dialogs(xlDialogSaveAs).Show
Application.Dialogs(xlDialogOpen).Show "c:utilisatmétédis*.xls"
mémo = Null
Else
mémo = Target.Address
End If
End Sub



Avatar
michdenis
Bonjour Jack43,

Essaie ceci :

Suggestion : Pourquoi ne pas inclure dans la variable le chemin
le nom que tu veux donner à ton fichier si tu le connais ....!

En lieu et place de ta ligne de code :
Application.Dialogs(xlDialogOpen).Show "c:utilisatmétédis*.xls"


Dim Chemin As String
Chemin = "c:utilisatmétédis*.xls"

Application.GetSaveAsFilename Chemin, "Fichier Excel (*.xls), *.xls"


Salutations!




"JACK 43" (sansspam)> a écrit dans le message de news:

Bonjour,

Je souhaite vous soumettre une macro. voilà mon besoin

je veus que l'utilisateur qui lorsqu'il quitte une cellule la B2, la boite
dialogue enregistrer s'ouvre, elle s'ouvre sur le chemin suivant
C:utilisatmétédis

J'ai fait la macro suivante mais elle ne fonctionne pas ou plutôt elle
fonctionne mais n'ouvre sous les répertoires par défaut.


MERCI et A +


Dim mémo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If mémo = "$D$2" Then
'Application.Dialogs(xlDialogSaveAs).Show
Application.Dialogs(xlDialogOpen).Show "c:utilisatmétédis*.xls"
mémo = Null
Else
mémo = Target.Address
End If
End Sub
Avatar
JACK 43
Bonjour,

Ta proposition ne marche pas mieux. On ouvre bien la boîte de dialogue
"enregistrer", mais on reste sur C: (les répertoires ne sont pas ouvert.

Alors j'ai essayer ta macro et celle que j'avais faite dans un fichier
vierge et surprise, elles fonctionnent toutes les deux.

Donc celà ne provient pas de la macro, mais d'autres choses dans le fichier,
MAIS QUOI ??????

Pourriez-vous m'aider ?


******************************************


Bonsoir Jack,
(S'il faut changer d'unité utiliser chdrive)
Pour changer de répertoire chdir
exemple:
'
ChDrive "c:"
ChDir "c:toto"
Application.Dialogs(xlDialogSaveAs).Show
'

'lSteph



"JACK 43" (sansspam)> a écrit dans le message de
news:
Bonjour,

Je souhaite vous soumettre une macro. voilà mon besoin

je veus que l'utilisateur qui lorsqu'il quitte une cellule la B2, la boite
dialogue enregistrer s'ouvre, elle s'ouvre sur le chemin suivant
C:utilisatmétédis

J'ai fait la macro suivante mais elle ne fonctionne pas ou plutôt elle
fonctionne mais n'ouvre sous les répertoires par défaut.


MERCI et A +


Dim mémo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If mémo = "$D$2" Then
'Application.Dialogs(xlDialogSaveAs).Show
Application.Dialogs(xlDialogOpen).Show "c:utilisatmétédis*.xls"
mémo = Null
Else
mémo = Target.Address
End If
End Sub








Avatar
michdenis
Bonjour Jack43,

Les 2 façons proposées par toi ou LSteph fonctionne seulement
sur un fichier qui n'a pas déjà été enregistré.

Celle que je te propose dans tous les cas.


Salutations!


"JACK 43" (sansspam)> a écrit dans le message de news:

Bonjour,

Ta proposition ne marche pas mieux. On ouvre bien la boîte de dialogue
"enregistrer", mais on reste sur C: (les répertoires ne sont pas ouvert.

Alors j'ai essayer ta macro et celle que j'avais faite dans un fichier
vierge et surprise, elles fonctionnent toutes les deux.

Donc celà ne provient pas de la macro, mais d'autres choses dans le fichier,
MAIS QUOI ??????

Pourriez-vous m'aider ?


******************************************


Bonsoir Jack,
(S'il faut changer d'unité utiliser chdrive)
Pour changer de répertoire chdir
exemple:
'
ChDrive "c:"
ChDir "c:toto"
Application.Dialogs(xlDialogSaveAs).Show
'

'lSteph



"JACK 43" (sansspam)> a écrit dans le message de
news:
Bonjour,

Je souhaite vous soumettre une macro. voilà mon besoin

je veus que l'utilisateur qui lorsqu'il quitte une cellule la B2, la boite
dialogue enregistrer s'ouvre, elle s'ouvre sur le chemin suivant
C:utilisatmétédis

J'ai fait la macro suivante mais elle ne fonctionne pas ou plutôt elle
fonctionne mais n'ouvre sous les répertoires par défaut.


MERCI et A +


Dim mémo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If mémo = "$D$2" Then
'Application.Dialogs(xlDialogSaveAs).Show
Application.Dialogs(xlDialogOpen).Show "c:utilisatmétédis*.xls"
mémo = Null
Else
mémo = Target.Address
End If
End Sub








Avatar
JACK 43
Bonjour le magicien

Un petit message pour te remercier car celà fonctionne parfaitement.
Maintenant peut-on demander à un magicien pourquoi celà ne fonctionne pas
avec ma macro (ou celle de Lsteph) si déjà enregistrer.


Encore Merçi et A+


*****************************************


Bonjour Jack43,

Les 2 façons proposées par toi ou LSteph fonctionne seulement
sur un fichier qui n'a pas déjà été enregistré.

Celle que je te propose dans tous les cas.


Salutations!


"JACK 43" (sansspam)> a écrit dans le message de news:

Bonjour,

Ta proposition ne marche pas mieux. On ouvre bien la boîte de dialogue
"enregistrer", mais on reste sur C: (les répertoires ne sont pas ouvert.

Alors j'ai essayer ta macro et celle que j'avais faite dans un fichier
vierge et surprise, elles fonctionnent toutes les deux.

Donc celà ne provient pas de la macro, mais d'autres choses dans le fichier,
MAIS QUOI ??????

Pourriez-vous m'aider ?


******************************************


Bonsoir Jack,
(S'il faut changer d'unité utiliser chdrive)
Pour changer de répertoire chdir
exemple:
'
ChDrive "c:"
ChDir "c:toto"
Application.Dialogs(xlDialogSaveAs).Show
'

'lSteph



"JACK 43" (sansspam)> a écrit dans le message de
news:
Bonjour,

Je souhaite vous soumettre une macro. voilà mon besoin

je veus que l'utilisateur qui lorsqu'il quitte une cellule la B2, la boite
dialogue enregistrer s'ouvre, elle s'ouvre sur le chemin suivant
C:utilisatmétédis

J'ai fait la macro suivante mais elle ne fonctionne pas ou plutôt elle
fonctionne mais n'ouvre sous les répertoires par défaut.


MERCI et A +


Dim mémo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If mémo = "$D$2" Then
'Application.Dialogs(xlDialogSaveAs).Show
Application.Dialogs(xlDialogOpen).Show "c:utilisatmétédis*.xls"
mémo = Null
Else
mémo = Target.Address
End If
End Sub













Avatar
michdenis
Bonjour Jack 43,

Pour connaître les tenants et les aboutissants de ce que tu demandes,
il faudrait adresser ta requête à un responsable du code source d'excel.

Si tu utilises cet événement du ThisWorkbook sur un fichier enregistré au
moment où tu appelles la commande "Enregistrer sous" du menu Fichier
de la feuille de calcul, la modification du chemin est inopérante comme la
commande "Application.Dialogs(xlDialogSaveAs).Show" . Dans les 2 cas,
la fenêtre affiche le répertoire où le fichier est déjà enregistré. Je suppose
que c'est là un choix que le (les) programmeurs du code source ont décidé !
Je n'ai pas d'autres explications....

'--------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

ChDrive "c:"
ChDir "c:Atravail"

End Sub
'--------------------


Salutations!




"JACK 43" (sansspam)> a écrit dans le message de news:

Bonjour le magicien

Un petit message pour te remercier car celà fonctionne parfaitement.
Maintenant peut-on demander à un magicien pourquoi celà ne fonctionne pas
avec ma macro (ou celle de Lsteph) si déjà enregistrer.


Encore Merçi et A+


*****************************************


Bonjour Jack43,

Les 2 façons proposées par toi ou LSteph fonctionne seulement
sur un fichier qui n'a pas déjà été enregistré.

Celle que je te propose dans tous les cas.


Salutations!


"JACK 43" (sansspam)> a écrit dans le message de news:

Bonjour,

Ta proposition ne marche pas mieux. On ouvre bien la boîte de dialogue
"enregistrer", mais on reste sur C: (les répertoires ne sont pas ouvert.

Alors j'ai essayer ta macro et celle que j'avais faite dans un fichier
vierge et surprise, elles fonctionnent toutes les deux.

Donc celà ne provient pas de la macro, mais d'autres choses dans le fichier,
MAIS QUOI ??????

Pourriez-vous m'aider ?


******************************************


Bonsoir Jack,
(S'il faut changer d'unité utiliser chdrive)
Pour changer de répertoire chdir
exemple:
'
ChDrive "c:"
ChDir "c:toto"
Application.Dialogs(xlDialogSaveAs).Show
'

'lSteph



"JACK 43" (sansspam)> a écrit dans le message de
news:
Bonjour,

Je souhaite vous soumettre une macro. voilà mon besoin

je veus que l'utilisateur qui lorsqu'il quitte une cellule la B2, la boite
dialogue enregistrer s'ouvre, elle s'ouvre sur le chemin suivant
C:utilisatmétédis

J'ai fait la macro suivante mais elle ne fonctionne pas ou plutôt elle
fonctionne mais n'ouvre sous les répertoires par défaut.


MERCI et A +


Dim mémo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If mémo = "$D$2" Then
'Application.Dialogs(xlDialogSaveAs).Show
Application.Dialogs(xlDialogOpen).Show "c:utilisatmétédis*.xls"
mémo = Null
Else
mémo = Target.Address
End If
End Sub