Nous sommes actuellement le 05 Juil 2026, 19:36

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 8 message(s) ] 
Auteur Message
MessagePublié: 16 Août 2002, 19:50 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 17 Mars 2002, 00:32
Message(s) : 613
Localisation : Montréal
En fait, c'est du code VB pour les applications (le VBA).

Je n'y connais pas grand chose dans ce langage (mais je me débrouille) et je voudrais, néanmoins, faire en sorte que, dans Excel, l'utilisateur fournisse la date selon le format de date courte du système, et qu'Excel, avec la date entrée, calcule lui-même le reste du calendrier.

Le hic, la date qui doit apparaître doit correspondre uniquement au jour. En d'autres mots, le mois et l'année ne sont pas affichés, étant cependant nécessaire pour faire un calcul exact des dates. Si seul le jour est entré, le mois et l'année correspondront à [janvier 1900] ou [janvier 1901], tout dépendant de la configuration que vous avez opté dans Excel.

Par exemple, sur mon système, le format de date courte est la suivante: [JJ.MM.AAAA] Donc, la date d'aujourd'hui serait affichée comme étant [16.08.2002].

Ainsi, disons que j'ouvre [fichier.xls]. Une fois l'ouverture faite, une boîte de dialogue s'ouvre automatiquement et demande à l'utilisateur d'entrer la date en utilisant le format de courte date de son système. Il valide son entrée et Excel calcul le reste. Le problème est que j'arrive à faire tout cela, mais Excel m'affiche la date du premier jour, et uniquement le premier jour, dans le même format qu'il a été entré dans la boîte de dialogue.

Prenons le mois de juillet, par exemple. Dans la boîte de dialogue, j'entrerais [01.07.2002] et validerais l'entrée. Excel va affichier que le [2] est un mardi, le 3 un mercredi, etc. Cependant, à la place d'afficher le [1] comme lundi, il va afficher le [01.07.2002] comme étant lundi. La date n'est pas mauvaise en tant que telle, mais c'est le fait que la date est affichée au complet à la place de n'afficher que le [1].

Quelqu'un aurait une idée du comment je pourrais régler le problème?

Une autre restriction... les samedis et dimanches ne sont pas affichés.

_________________
EinsteinBQAT, Membre des forums Micro.Info
Étudiant à temps plein à l'Université de Montréal en doctorat en médecine dentaire (DMD).
PowerBook 17" WS- 1,5 GHz PowerPC G4 - 2 GB DDR SDRAM - Mac OS X 10.4.x (Tiger) - ATI Mobility Radeon 9700 128 MB DDR
iPod 3G - 20 GB


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 16 Août 2002, 21:30 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 20:36
Message(s) : 637
Localisation : Côte-Nord, Québec
Bonjour,
Il y a Sicaire qui ma déjà aidé pour du code VB dans Excel. Il a l'air de bien le maitriser. Moi j'avais poser ma question dans la section logiciel. Fait une recherche avec l'auteur Sicaire Au pire envoie lui un message privé.
Bonne chance. :D


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 20 Août 2002, 15:22 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 08 Jan 2002, 11:08
Message(s) : 575
Je ne suis pas certain ce que tu veux faire exactement ????

Envoie mon ton code pour que je puisse le regarder...


J'ai fait un petit bout de code qui peut peut-être t'intéresser.

Tu lui donne une date "2002-08-20" et il écrit le reste du mois dans une cellule correspondant au jour de la semaine du dimanche au samedi.

Exemple:

-- -- 20 21 22 23 24
25 26 27 28 29 30 31


Code :
Private Sub cmdButton_Click()



    Dim ValeurDate As Date
    Dim iRow As Integer
    Dim iColumn As Integer
   
   
    ValeurDate = frmMain.txtDate
    iRow = 1
    iColumn = Weekday(ValeurDate)
    CurrentMonth = Month(ValeurDate)
   
    Do Until CurrentMonth < Month(ValeurDate)
        Sheet1.Cells(iRow, iColumn) = Day(ValeurDate)
       
        iColumn = iColumn + 1
       
        If Weekday(ValeurDate) = 7 Then
            iRow = iRow + 1
            iColumn = 1
        End If
        ValeurDate = ValeurDate + 1
    Loop       
   
   
End Sub


Dans mon exemple ton formulaire doit ce nommé frmMain, ton textbox txtDate et ton bouton cmdButton.


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 20 Août 2002, 21:41 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 17 Mars 2002, 00:32
Message(s) : 613
Localisation : Montréal
Donne-moi jusqu'à ce weekend et je te réponds. Je n'ai pas vraiment beaucoup de temps présentement.

_________________
EinsteinBQAT, Membre des forums Micro.Info
Étudiant à temps plein à l'Université de Montréal en doctorat en médecine dentaire (DMD).
PowerBook 17" WS- 1,5 GHz PowerPC G4 - 2 GB DDR SDRAM - Mac OS X 10.4.x (Tiger) - ATI Mobility Radeon 9700 128 MB DDR
iPod 3G - 20 GB


Dernière édition par EinsteinBQAT le 24 Août 2002, 17:11, édité 1 fois.

Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 24 Août 2002, 17:11 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 17 Mars 2002, 00:32
Message(s) : 613
Localisation : Montréal
Salut!

Ton affaire fonctionne, je l'ai un peu modifié pour qu'elle sied à ce dont j'ai besoin. Merci beaucoup.

Maintenant, j'essaie de faire en sorte que lorsque l'utilisateur cllique sur OK à la fin pour terminer, Excel lui demande d'enregistrer le fichier sous un nom quelconque.

Tout ce que j'arrive à faire, c'est de créer un nouveau document XLS et demander à ce que ce nouveau document sous enregistrer sous un nom donné par l'utilisateur.

Or, je VEUX un ENREGISTRER SOUS (Save As) pour un document déjà existant.

Comment fais-je?

Merci beaucoup.

_________________
EinsteinBQAT, Membre des forums Micro.Info
Étudiant à temps plein à l'Université de Montréal en doctorat en médecine dentaire (DMD).
PowerBook 17" WS- 1,5 GHz PowerPC G4 - 2 GB DDR SDRAM - Mac OS X 10.4.x (Tiger) - ATI Mobility Radeon 9700 128 MB DDR
iPod 3G - 20 GB


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 24 Août 2002, 17:22 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
EinsteinBQAT a écrit:
Salut!

Ton affaire fonctionne, je l'ai un peu modifié pour qu'elle sied à ce dont j'ai besoin. Merci beaucoup.

Maintenant, j'essaie de faire en sorte que lorsque l'utilisateur cllique sur OK à la fin pour terminer, Excel lui demande d'enregistrer le fichier sous un nom quelconque.

Tout ce que j'arrive à faire, c'est de créer un nouveau document XLS et demander à ce que ce nouveau document sous enregistrer sous un nom donné par l'utilisateur.

Or, je VEUX un ENREGISTRER SOUS (Save As) pour un document déjà existant.

Comment fais-je?

Merci beaucoup.


Je fais pas de VBA, mais pour la fenêtre de dialogue tu peux utiliser le contrôle common dialog, il est pas disponible par défaut, clic de la droite sur la boite d'outil et fait add component, sélectionne Microsoft Common dialog. Va voir dans le MSDN pour plus d'info sur son utilisation tout est là. Sinon tu peux aussi le faire avec les API... mais là va falloir faire tes recherches toi même (http://www.allapi.net, http://www.mvps.org/vbnet)

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 26 Août 2002, 09:48 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 08 Jan 2002, 11:08
Message(s) : 575
La meilleur méthode selon moi c'est comme Jump a dit !!!

C'est utiliser le "Microsoft Common dialog" c'est beaucoup plus "user friendly"....

Mais si tu veux une méthode simple :

Code :
    Dim sFilePath As String
    Dim FileFormat
   
    FileFormat = xlNormal
    sFilePath = "C:\test.xls"
   
    ActiveWorkbook.SaveAs Filename:=sFilePath, FileFormat:=FileFormat, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False


Haut
 Profil  
Répondre en citant  
 Sujet du message: Merci!
MessagePublié: 27 Août 2002, 08:29 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 17 Mars 2002, 00:32
Message(s) : 613
Localisation : Montréal
Merci à vous deux!!! C'est très apprécié. :)

_________________
EinsteinBQAT, Membre des forums Micro.Info
Étudiant à temps plein à l'Université de Montréal en doctorat en médecine dentaire (DMD).
PowerBook 17" WS- 1,5 GHz PowerPC G4 - 2 GB DDR SDRAM - Mac OS X 10.4.x (Tiger) - ATI Mobility Radeon 9700 128 MB DDR
iPod 3G - 20 GB


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 8 message(s) ] 

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site