Rapport de message :*
 

Re: Test login et traitement

Titre du sujet : Re: Test login et traitement
par myDearFriend! le 21/01/2010 00:52:22

Bonsoir vg00,

Citation :
vg00 a écrit :
par contre il faudrait juste que l'enregistrement du fichier soit effectuer de manière automatique dans le répertoire V:\COTATIONS\ plutôt que d'être obligé de lancer la macro INITOffre
et ne donne pas la main à l'utilisateur au niveau de l'enregistrement sauf si le répertoire réseau n'est pas accessible

Par rapport au besoin global une fois ceci réglé un grand pas sera déja franchi

Désolé vg00, mais ça ne veut rien dire. Un enregistrement automatique, oui, mais quand ? Sur quel évènement ? Sur quelle action utilisateur ?
Par ailleurs, je te rappelle que c'est la procédure InitOffre() qui détermine la nouvelle référence d'offre, donc la sauvegarde ne peut se faire qu'à postériori...

A toutes fins utiles, tu déclencheras la sauvegarde du document par :
ThisWorkbook.SaveAs "V:\COTATIONS" & LeNomDuFichier
et la partie à supprimer de InitOffre() est donc :
       'Sauvegarde l'offre
        Chemin = Application.GetSaveAsFilename(Ref, "Offres (*.xls), *.xls", _
                                                , "Sauvegarde de l'offre...")
        If Chemin <> False Then
            ThisWorkbook.SaveAs Chemin
        End If

Citation :
vg00 a écrit :
du coup j'aborderai la suite du besoin à savoir :
intégrer avant enregistrement de l'offre le choix du client

j'entends par choix la mise en place initial d'un fichier CLIENT.XLS à mon avis toujours dans le répertoire V:\COTATIONS
avec consultation sans ouverture du fichier pour choix parmi liste existante possibilité de modifier ou d'ajout un client avec ces informations
choix : vide / M. / Mme / Mlle par coche
NOM (obligatoire)
PRENOM (facultatif)
Téléphone fixe
Téléphone portable
(au moins un téléphone parmi les deux)
Fax (facultatif)
SOCIETE


puis importation des données dans l'offre et à ce moment écriture dans COTATIONS 2010.XLS d
N° offre (2010-0104 par exemple) | Date récupérée dans cellule A8 détaillé plus bas | SOCIETE | valeur de choix (vide / M / MMe / Mlle) | rien | Initiales (provenant du VBA case ...) |

enregistrement de l'offre seulement à ce moment la pus reprise de la main pour ajouter des lignes dans l'offre

j'aimerais dans COTATIONS 2010.XLS soit ajouter une colonne soit faire en sorte qu'en cliquant sur la première cellule de chaque ligne ouvrir le fichier correspondant en donnant le choix d'ouvrir le fichier 2010-0104C.XLS ou 2010-0104C.PDF merci de me dire si c'est possible

Merci de votre aide précieuse et très constructive.

Mise à part le fait que je n'ai pas tout compris dans tes explications, je me dois déjà de t'avertir vg00 :

1) Pour rappel, Excel est avant tout un tableur et j'ai dans l'idée que ta perception de ce projet va un peu au-delà du raisonnable en terme d'automatisme et d'interaction entre fichiers divers... la multiplication des fichiers multiplie d'autant les difficultés de développement. Et pour peu que tu veuilles partager ce(s) document(s) sur réseau, je pense que tu cours à l'échec au final, c'est presque garanti.

2) Pour rappel encore, les Forums de discussions du présent site n'ont pas pour objet de réaliser et rendre des commandes d'application "clé en main". Tu trouveras sur le net d'autres forums Excel dans lesquels ces demandes sont visiblement acceptées et sans doute bien réalisées. Mais ce n'est pas l'objectif sur le site XLpages.com qui ne s'intéresse qu'aux échanges à valeur pédagogique.

Citation :
vg00 a écrit :
PS : code pour obtention de la date que j'ai mis dans thisworkbook mais ça peut certainement être amélioré
Private Sub Workbook_Open()
' DateduJour Macro '
Sheets("Offre").Select
Range("A8").Select
ActiveCell.FormulaR1C1 = "=today()"
Range("A8").Value = Range("A8").Value
End Sub

Tu peux échanger ton code par celui-ci :
Private Sub Workbook_Open()
' DateduJour Macro '
Sheets("Offre").Range("A8").Value = Date
End Sub
La fonction Date en VBA renvoie la date du jour.

... cela dit, je ne vois pas l'intérêt de ce code VBA à vrai dire. Autant mettre directement la formule suivante dans la cellule A8 :
=AUJOURDHUI()

Cordialement,