Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Bug suite à l'affectation de la valeur d'un DTpicker

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 !

Nashpuss

XLDnaute Nouveau
Bonjour,

Dans la trame qui m'occupe actuellement, en farfouillant sur ce forum, j'ai inséré un DTPicker dans ma UserForm.

J'ai crée un bouton pour affecter sa valeur à une cellule. Ca marchait.
Mais bon, ça me fait un bouton en plus à presser alors que j'ai d'autres boutons pas loin qu'il faut que je presse aussi pour faire des copier-coller. Donc j'ai inséré la ligne suivante dans mon code de bouton déja existant.

Sheets("Etiquettes modele").Range("K4").Value = DTPicker1.Value

Depuis ça bugge, soit dans l'ouverture de la UserForm (genre probleme de DTPicker), soit dans la selection des cellules du copier-coller alors que ça buggait pas avant.
Et en revenant en arriere (supprimant les lignes ajouter) ça bugge encore.

Avez-vous une solution?
Je vous remercie à l'avance,
 

Pièces jointes

Re : Bug suite à l'affectation de la valeur d'un DTpicker

Re,

je viens d'essayer avec le Close_Up, ça fonctionne chez moi

Code:
Private Sub DTPicker1_CloseUp()
Sheets("Etiquettes modele").Range("K4").Value = DTPicker1.Value
End Sub
 
Re : Bug suite à l'affectation de la valeur d'un DTpicker

Bonjour,

Chez moi, ça plante après qu'une erreur de code se soit produite à la ligne de CommandButton1_Click():

Code:
Ligne_deb = Sheets("Etiquettes modele").[K5] * 4 - 3

Il n'y a rien dans K5 et ligne_deb se retrouve avec un nombre négatif.

Les dtPicker effectivement posent souvent problème lorsque une erreur se produit dans un programme et que celui-ci ait du être interrompu.

Je vois que tu utilises les propriétés controleSource pour alimenter les contrôles de ton userForm. Cela aussi pose souvent problème. Dans bien des cas il est préférable de les alimenter par code. Puis sur validation, valoriser les cellules idoines.

A+
 
Re : Bug suite à l'affectation de la valeur d'un DTpicker

Merci. C'est quoi un Private Sub DTPicker1_Change() ou DTPicker1_CloseUp() ??
Ca sert a quoi? Ca se rajoute comment et ou?

Je vais tenter d'alimenter les cellules par code.
Ca se fait à l'aide d'un code dans un bouton genre une ligne
Sheets("blabla").Range("K2").TextBox2.value?
Ou on le met dans une la Private Sub TextBox2_Change()
 
Re : Bug suite à l'affectation de la valeur d'un DTpicker

Sauf erreur (suis pas encore pro...)

Les commandes que tu va mettre dans le Sub DTPicker_CloseUp vont s'executer lors de la fermeture du dtpicker.
le F1 est très utile pour ces trucs là.
Dans le code de ton usf, en haut de la fenetre, tu as deux combo, où tu as, listé tes contôles et sur chaque contrôle, les commandes utilisables
Ex, dans un Private Sub TextBox2_Change(), les commandes seront effectuées à chaque changmenet de valeur de ta textbox, que la valeur ait changé par saisie ou par une autre macro.

Si tu alimentes les cellules de ton sheet à la fin de ton usf, fais plutôt un seul bouton "Valider" où tu insèrerais toutes tes commandes Sheets("blabla").Range("K2")=TextBox2.value
Ca t'éviterait sans doute des boutons supplémentaires.

Edit : Pardon Hasco, pas vu...
 
Dernière édition:
Re : Bug suite à l'affectation de la valeur d'un DTpicker

Re à tous

Nashpuss,
Si je puis me permettre un avis un peu HS : perso les Dtpickers ne m'ont causé que des problèmes car tous mes fichiers en contenant sont inutilisables sur le poste de mon chef, ce qui fait grosso modo que j'ai taffé pour pas grand chose. et impossible pour l'instant de résoudre le pb...
Je te conseillerais plutôt d'uitliser le Calendar classique, même s'il est moins joli.
 
Re : Bug suite à l'affectation de la valeur d'un DTpicker

Re,

@NashPuss:
Voici un code possible de l' évènement Initialize du userform:

Code:
Private Sub UserForm_Initialize()
'spécifie la date du jour lors de l'affichage de l'USF
    DTPicker1.Value = Date
    ComboBox1.List = Range("Produit").Value
    ComboBox2.List = Range("nbEtiq").Value
    ComboBox3.List = Range("Ligne_début").Value
    TextBox1 = ""
    TextBox2 = ""
End Sub
Tu remarqueras le changement pour valoriser le DTPicker: =Date et non =Now (qui renvoie la date et l'heure, dernière que le DTPicker ne gère pas)
C'est peut-être la source de ton problème.

Rastafouette à dit:
Pardon Hasco, pas vu...
Pas de problème, deux cerveaux valent mieux qu'un.

A+
 
Re : Bug suite à l'affectation de la valeur d'un DTpicker

Salut,

une autre piste peut-être ?
Code:
Private Sub UserForm_Initialize()
  [B]MultiPage1.Value = 0 [I][COLOR=Green]'sélection de la première page[/COLOR][/I][/B]
  DTPicker1.Value = Now '=Date (sans les heures)
End Sub

Private Sub CommandButton1_Click()
[B]  MultiPage1.Value = 1 [I][COLOR=Green]'sélection de la seconde page[/COLOR][/I][/B]
  Ligne_deb = Sheets("Etiquettes modele").[K5] * 4 - 3

pour Hasco : on a un message d'erreur quand la page2 est sélectionnée lors à la fermeture de l'éditeur.
 
Dernière édition:
Re : Bug suite à l'affectation de la valeur d'un DTpicker

RE,

@Fo_rum, on ne sait pas sur quel version du fichier travaille notre ami NashPuss, alors je vais le laisser répondre avant d'intervenir de nouveau.

A+
 
Re : Bug suite à l'affectation de la valeur d'un DTpicker

Bon, merci à tous, c'est à moi de synthétiser le tout et de trouver le truc qui marche. Le DTpicker ca en jetait pas mal, mais c'est vrai que si ça génère des bugs étranges je finirais par l'enlever et le remplacer soit par un Texbox soit par autre chose (Rastafouette, c'est quoi le Calendar classique?).
En plus plus ca sera simple plus ca me sera facile a valider derriere (et oui j'aurais un dossier a faire la dessus).
 
Re : Bug suite à l'affectation de la valeur d'un DTpicker

Je crois qu'une partie de mon pb vient de l'utilisation des Controlsource dans ma usf. Comme ca doit lier avec la page active, du coup c'est pas la bonne feuille. Ca doit un peut merdouiller apres.
 
Re : Bug suite à l'affectation de la valeur d'un DTpicker

c'est quoi le Calendar classique?)

Pour pouvoir disposer de ce type de calendrier tu dois :

- aller dans MS visual basic, Menu Outils > Contrôles supplémentaires
- cocher le contrôle "Controle Calendrier 11.0" (version 11.0 chez moi)
- tu verras apparaitre un controle en plus dans ta boite à outils.

Il suffira ensuite de l'insérer dans tes usf et de jouer avec ses actions et sa valeur.

En allant dans ses propriétés, tu peux aussi changer les couleurs de fond, les polices, les tailles, ça peut être joli aussi...
 
Re : Bug suite à l'affectation de la valeur d'un DTpicker

Re,

je ne pense pas que DTPicker soit ta source d'erreur.
C'est plutôt ton Multipage et tu n'as certainement pas étudié la piste que je t'ai fournie donc ...
Calendar voire MonthView te poseront les mêmes problèmes.
 
Re : Bug suite à l'affectation de la valeur d'un DTpicker

Bon j'ai un truc qui tient la route. J'ai pas fait d'effort pour l'initialisation vu que le fichier va etre en lecture seule avec protection et userform au départ vierge.
Im reste donc la piste de fo_rum et d'Hasco a explorer pour rendre le truc un peu plus propre.

Je vous remercie tous.

A+
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…