Planning manifestations VBA ou Formules

Atiom

XLDnaute Occasionnel
Bonjour le forum

Je viens à nouveau vous sollicité de l’aide.

J’ai 12 feuilles avec un planning correspondent à chaque mois.

Je souhaiterais que lorsque j’inscris la date du début et de la fin d’une manifestation celles-ci viennent s’afficher automatiquement dans le planning.

Pour cause des éventuelles modifications des dates je ne sais pas encore si le meilleure moyen est les formules au le VBA.

Je vos mets un fichier joint pour une meilleure compréhension de mon problème.

Merci d’avance pour toute aide aux propositions.
 

Pièces jointes

  • Planning_manifeatations_1.zip
    20 KB · Affichages: 239

pierrejean

XLDnaute Barbatruc
Re : Planning manifestations VBA ou Formules

re

Voila pour des manifs a cheval sur 2 mois et la suppression d'une manif (ne pas oublier de selectionner un element de la ligne a supprimer)

Pour JNP

une autre methode
Code:
Function derjour(ladate As Date)
  derjour = CDate("01/" & Month(ladate) + 1 & "/" & Year(ladate)) - 1
End Function
 

Pièces jointes

  • Planning_manifestations_2.zip
    28 KB · Affichages: 72
  • Planning_manifestations_2.zip
    28 KB · Affichages: 73
  • Planning_manifestations_2.zip
    28 KB · Affichages: 66

Atiom

XLDnaute Occasionnel
Re : Planning manifestations VBA ou Formules

Re,

C’est vrai que pieerejean est vraiment impressionnant en VBA.
Mais ça je le savais déjà puisque dans d’autres postes il m’ as déjà rendu de grands services.

Ça fonctionne parfaitement pour les manifs à cheval sur 2 mois et la suppression, sauf quand ou change d’année.
Exemple dans la feuille Renseignements cellule C1 au lieu de 2008, tu mets 2009.

La macro double la manifestation dans le planning.

J’essaie de voir pourquoi ? mais… dur dur.

Il ne manque aussi les modifications !
Merci infiniment pierrejean
A+
 
Dernière édition:

Atiom

XLDnaute Occasionnel
Re : Planning manifestations VBA ou Formules

Re,

J’ai regardé plus en détails et ça n’as rien à voir avec le changement d’année au pas.
Dans la dernière version lorsque on ajoute une manifestation à cheval sur 2 mois ça fonctionne parfaitement.
Par contre lorsque on joute une manifestation sur une seule mois, et bien la manifestation est doublé.

Pour la suppression on est vraiment obligé de garder ces 2 fenêtres? une simple fenêtre pour confirmer la suppression est suffisante, enfin je pense, mais je suppose que si tu as mis comme ça il doit avoir une raison..

Quand au fait de pouvoir modifier une manifestation je pense qu’il est important, car il y arrive ce genre des choses très souvent malheureusement.

Bonne nuit.

A+
 

fred65200

XLDnaute Impliqué
Re : Planning manifestations VBA ou Formules

bonjour à tous,

une autre façon de trouver le dernier jour du mois
Code:
Function DernierJourDuMois(maDate As Date) As Byte
Application.Volatile
DernierJourDuMois = Day(Application.EoMonth(maDate, 0))
End Function
Edit pour la date complète
Code:
Function DernierJourDuMois(maDate As Date) As [B]Date[/B]
Application.Volatile
DernierJourDuMois = Application.EoMonth(maDate, 0)
End Function
Je pense (mais n'ai pas testé) que la fonction de pierrejean doit "bugger" avec les dates du mois de décembre.

cordialement
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Planning manifestations VBA ou Formules

bonjour a tous
fred65200 a raison ma fonction buggue en decembre
voila une version qui fonctionne

Code:
Function derjour(ladate As Date) As Date
  If Month(ladate) = 12 Then
  ms = 1
  ys = Year(ladate) + 1
  Else
  ms = Month(ladate) + 1
  ys = Year(ladate)
  End If
  derjour = CDate("01/" & ms & "/" & ys) - 1
End Function

mais je suis peruadé qu'une recherche permettrait de trouver mieux
nota : cette fonction donne une date, celle de fred le jour

@ Atiom
je revois tout cela mais je suis un peu pris aujourd'hui
 

pierrejean

XLDnaute Barbatruc
Re : Planning manifestations VBA ou Formules

Re

@ Atiom

vois si cette version te convient

je n'ai pas pu savoir pourquoi on avait une double inscription
elle n'y est plus semble-t-il après avoir ajouté une temporisation d'une seconde
Fais les tests a fond (je manque de temps ....et un peu aussi de motivation)
 

Pièces jointes

  • Planning_manifestations_2.zip
    36.7 KB · Affichages: 62
  • Planning_manifestations_2.zip
    36.7 KB · Affichages: 60
  • Planning_manifestations_2.zip
    36.7 KB · Affichages: 61

Atiom

XLDnaute Occasionnel
Re : Planning manifestations VBA ou Formules

Bonsoir pierrejean,

J’ai regardé un peut plus en détail, et voici quelques détails que on peut améilloré, notamment à niveau de la gestion d’erreurs.

1 - Si on introduit une fausse date.
Cet à dire si le planning est configuré pour 2008 et si on fait une erreur de frappe et on introduit une date de 2008.

2 - Dans UserForm sans avoir sélectionné une ligne et si par hasard on clique sur un des deux boutons.

Si un jour tu retrouve la motivation, pour cette application voila de quoi t’occuper, j’essayé d’ajouter quelques gestions d’erreurs mais pour finir c’est le tout que bug.

A+
 

JNP

XLDnaute Barbatruc
Re : Planning manifestations VBA ou Formules

Bonjour Atiom, Pierre-Jean :),
Pour le 1, si tu fais une validation sur tes dates, tu pourras limiter à 01/01/08 - 31/12/08
Pour le 2, il te suffit de faire un test au début de Bouton_Click des 2 boutons pour vérifier que l'USF est correctement rempli.
Bon courage :cool:
 

Atiom

XLDnaute Occasionnel
Re : Planning manifestations VBA ou Formules

Bonjour le fil

Merci JNP pour tes propositions.
Pour le 2 j’ai trouvé.
Code:
If TextBox1 = "" Then
MsgBox "Sélectionner une manifestation !"
Unload UserForm1
Exit Sub
End If
.Mais pour le 1 j’ai bon chercher mais je ne trouve pas.
Concrètement quel code je dois mettre dans mon bouton pour empêcher l’erreur de se produire ?

Faire une validation sur tes dates et limiter à 01/01/08 - 31/12/08 ?
et puis une fois que le planning est configuré pour 2009 ou 2010 ?

Peux-tu m’aider un peut plus stp ?
Merci d’avance
 

fred65200

XLDnaute Impliqué
Re : Planning manifestations VBA ou Formules

bonsoir,

JND étant déconnecté, je me permets de repondre à sa place

Tu sélectionnes tes cellules qui doivent contenir une date.
Données / Validation des données
Onglet Options

Autoriser : Date
Données : Comprise entre
Date de début : 01/01/2008
Date de fin : 31/12/2008

Regardes les onglets suivant pour afficher des messages.

OK

cordialement
 

Atiom

XLDnaute Occasionnel
Re : Planning manifestations VBA ou Formules

Salut, Fred65200

Merci, ça fonctionne parfaitement.

Mais c’est beaucoup plus compliqué que ça.
Mon planning change d’année en fonction de la valeur de la cellule A3.

Il faut trouver le moyen de vérifier que les colonnes C et D contiennent des dates comprises entre le 1 janvier et le 31 décembre mais de l’année indiqué dans la cellule A3.

Cas contraire la macro se lance et provoque une erreur, si la date ne correspond pas
 

Discussions similaires

Réponses
5
Affichages
543

Statistiques des forums

Discussions
312 339
Messages
2 087 400
Membres
103 537
dernier inscrit
alisafred974