Problème ! Pourquoi ce code plante d'un coup alors que 2 mn avt il fonctionné?

  • Initiateur de la discussion Initiateur de la discussion anthoYS
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

anthoYS

XLDnaute Barbatruc
Bonsoir,

Voici le souci,
après un double clic, il est censé me lancer un calendrier d'ou je choisirai une date dans le calendrier...





Merci à ceux qui m'aiderons à comprendre ce qu'il à pu se passer, et comment y remedier.
 
Re : Problème ! Pourquoi ce code plante d'un coup alors que 2 mn avt il fonctionné?

Bonsoir anthoYS

A première vue, il s'agit d'une erreur de nom : es-tu certain que Calendrier est bien le nom du contrôle Calendar que tu as créé ?

En général, sauf si renommé par l'auteur du code, le nom par défaut est du type Calendar1.

Mais peut-être me trompé-je ? Difficile d'être plus précis sans le fichier sous les yeux.

Espérant avoir été utile.

Cordialement.
 
Re : Problème ! Pourquoi ce code plante d'un coup alors que 2 mn avt il fonctionné?

re,

D'accord Papou-net,

es-tu certain que Calendrier est bien le nom du contrôle Calendar que tu as créé ?

En général, sauf si renommé par l'auteur du code, le nom par défaut est du type Calendar1

Tu ne t'es sans doute pas tromper ;
Alors comment faire pour changer le nom de contrôle de sorte que ça ne plante plus jamais?

Cordialement,

Bonne fin de soirée !

Merci par avance
 
Re : Problème ! Pourquoi ce code plante d'un coup alors que 2 mn avt il fonctionné?

Re,

JCGL, saches que Exel à planté, et après avoir redemarré ça remarche, de plus le fichier pèse 7 Mo et comporte des données privée.

Merci malgré tout !

A+ !
 
Re : Problème ! Pourquoi ce code plante d'un coup alors que 2 mn avt il fonctionné?

re,

D'accord Papou-net,



Tu ne t'es sans doute pas tromper ;
Alors comment faire pour changer le nom de contrôle de sorte que ça ne plante plus jamais?

Cordialement,

Bonne fin de soirée !

Merci par avance

Re anthoYS (bonsoir JCGL),

Tu as 2 solutions : soit tu relèves dans la fenêtre Propriétés le nom de ton contrôle Calendrier et tu l'appelles sous ce nom, soit tu changes son nom dans la fenêtre Propriétés de l'éditeur VBA. Dans les 2 cas, tu appelles le contrôle par le nom figurant dans cette fenêtre Propriétés.

Cordialement.
 
Re : Problème ! Pourquoi ce code plante d'un coup alors que 2 mn avt il fonctionné?

re,

merci Papou-net.

Ici ?



Dans l'objet "Calendrier UserForm" en liste déroulante il y a de la sorte :

Calendrier Calendar
Calendrier UserForm
Label1 Label

Tout ça pour l'USF "Calendrier" de la feuille.

Que faire?

Encore pire, voilà ce qui ressort après une modification d'un nom et quelques modif de coloris...
 
Dernière édition:
Re : Problème ! Pourquoi ce code plante d'un coup alors que 2 mn avt il fonctionné?

RE anthoYS,

Oui, c'est bien la ligne Name dans la fenêtre Propriétés.

Par contre, je constate que tu as donné le même nom à ton UserForm et à ton contrôle Calendar : c'est là, je pense, l'origine de ton erreur. Il te faut changer l'un des deux noms.

Cordialement..
 
Re : Problème ! Pourquoi ce code plante d'un coup alors que 2 mn avt il fonctionné?

Re,

ça ne marche toujours pas ; J'ai changé "Calendrier Calendar" en ""Reikavic Calendar".



Code:
Private Sub Calendar1_Click()
ActiveCell = Calendar1.Value
Unload Calendar
End Sub

Private Sub Calendrier_Click()

End Sub

Private Sub UserForm_Initialize()
Calendar1.Value = Now
End Sub

Le souci, avec la capture d'ecran ou la ligne en jaune sera en rouge dans le code au dessous de celle-ci comme dans le post #1.



le
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("C:C")) Is Nothing And IsEmpty(Target) Then
Cells(Target.Row, 4) = Date
Cells(Target.Row, 1).Interior.ColorIndex = 4
Cells(Target.Row, 4).Interior.ColorIndex = 4
Cells(Target.Row, 5).Interior.ColorIndex = 4
Cells(Target.Row, 6).Interior.ColorIndex = 4
End If
If Not Application.Intersect(Target, Range("E:E")) Is Nothing And IsEmpty(Target) Then
[COLOR="Red"]Calendrier.Show[/COLOR]
End If
Cancel = True
End Sub

une ébauche du fichier joint ;

Merci
 

Pièces jointes

Dernière édition:
Re : Problème ! Pourquoi ce code plante d'un coup alors que 2 mn avt il fonctionné?

Bonjour Anthoys, Papou, Jean-Claude🙂

essaye ainsi dans le module de l'usf :

Code:
Private Sub UserForm_Initialize()
Reikavik.Value = Now
End Sub

A noter une procédure "UserForm_Initialize" dans le module1 qui n'a rien à faire à cet endroit, peut provoquer aussi des problèmes...

bonne journée
@+
 
Re : Problème ! Pourquoi ce code plante d'un coup alors que 2 mn avt il fonctionné?

re,

Code:
Private Sub UserForm_Initialize()
Reikavik.Value = Now
End Sub

ce code fonctionne (c'est-à-dire) fait apparaître le calendrier, mais ne valide plus le choix de la date par double clic, pire, cette action ne fait rien et laisse le calendrier ouvert.

merci de me venir en aide, je ne sais pas ce qu'il se passe avec ce calendrier !
 
Re : Problème ! Pourquoi ce code plante d'un coup alors que 2 mn avt il fonctionné?

Bonjour,

ne conserve que ces 2 procédures dans le module de ton usf...

Code:
Private Sub Reikavik_DblClick()
ActiveCell.Value = Reikavik.Value
Unload Me
End Sub

Private Sub UserForm_Initialize()
Reikavik.Value = Now
End Sub

bonne fin d'après midi
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour