Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2011, 12h20   #1
Invité de passage
 
Homme
Étudiant
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 0
Points : 0
Par défaut Userform avec calcul date et formatage

Bonjour

J’aurai besoin d’un coup de main

J’ai un userform avec 3 listbox (Date de début - date de fin - durée)
et 1 Combobox (Pourcentage).

1. Je souhaiterais que Date de début (SDATE1) et date de fin (SDATE2) soient au format date JJ/MM/AAAA. La macro devra ensuite considérer que ces date sont les « fin de mois » (exemple, l’opérateur met 25/02/2011, la macro transforme en 28/02/2011).
1.1. Cette transformation peut elle se faire directement ? actuellement elle se fait à la fin… je souhaiterais que la macro propose directement la date de fin du mois dès que l’opérateur écris sa date
1.2. Et si l’opérateur renseigne une date fausse (exemple 25/13/2010) la macro peut elle lui demander de modifier la date avant de continuer ?

2. Après avoir renseigné ‘’date début’ et ‘’date de fin’’, la macro calcul automatiquement la durée. Et l’affiche dans la listbox3. Je souhaiterais mettre cette durée au format « X Années / Y mois » (exemple, « 2 and 3 mois »).
2.1. Comment faire cet affichage automatique avant de valider tout ?
2.2. Comment adapter ce format ?
2.3. Si la valeur de la durée (SDATE3) est négative ou inférieur à 1 mois, la macro devra demander à l’opérateur de modifier la date de fin ?

3. Comment faire pour que les informations du combobox soit du format pourcentage (exemple 9,5%)..

J’ai essayé de mettre des points d’erreur mais je n’y arrive pas….. en cas de date erronée, la macro ne fonctionne pas….

un petit fichier joint

merci de votre aide
Fichiers attachés
Type de fichier : xls Date.xls (37,0 Ko, 7 affichages)
jimmylux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2011, 13h58   #2
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Bonjour,
Tout d'abord, relis des explications sur l'utilisation du On Error : il se met avant les instructions et ce n'est pas la peine de le mettre plusieurs fois. Soit tu utilises
Code :
On Error GoTo ERRORDATE
Mais tu ne sauras pas de quelle ligne vient l'erreur. Tu pourras quand même savoir si c'est une erreur de date en fonction du numéro d'erreur.
Soit tu utilises
Code :
1
2
3
4
On Error Resume Next
'... ligne d'instruction
If err.Number <> 0 Then ...
On Error GoTo 0
Ensuite pour toutes tes questions, je pense qu'il suffit que tu utilises l'évènement Exit des TextBox.
Et pour l'histoire de fin de mois, pourquoi tu ne demandes pas plutôt à l'utilisateur de rentrer directement un mois et une année, sans le jour ?
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2011, 17h20   #3
Invité de passage
 
Homme
Étudiant
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 0
Points : 0
Merci mais, cela semble ne pas marcher...
par exemple quand le SDATE3 (la durée) n'est pas conforme, la macro global s'excute... alors qu'elle devrait envoyer un msg et s'arreter
jimmylux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2011, 17h46   #4
Membre confirmé
 
Inscription : juillet 2006
Messages : 347
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 347
Points : 289
Points : 289
Bonjour,

Je pense qu'il vous manque quelques bases, notamment sur la gestion d'erreur comme le signale zebreloup, mais également sur la gestion des evenements, pour corriger ces lacunes, allez voir les superbes tuto qui sont à disposition sur le site, ca aide bien !

Je vous ai mis quelques corrections que j'ai commenté dans le fichier en PJ.

D'autre part je vous invite à ne pas nommer vos composants textbox1, textBox2 ... en faisant un clic droit sur votre controle puis en cliquant sur propriétés, vous avez la possibilité de les modifier, ne vous en privez pas !

Bon dev.
Fichiers attachés
Type de fichier : xls Date.xls (38,5 Ko, 1 affichages)
Access Newbie est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h48.


 
 
 
 
Partenaires

Hébergement Web