DTpicker - comment récupérer les dates dans un formulaire

Bonjour à tous,

Un second problème dans la création de mon formulaire :

Pour indiquer des dates dans mon formulaire, j'aimerai utiliser les DTpicker (bien pratique et bien plus sympa que de rentrer manuellement la date dans une Textbox !)

Avec mon niveau VBA proche du néant, j'ai besoin de votre aide pour que, lorsque je consulte le formulaire d'un "dossier client", les dates soient récupérée dans mon formulaire ?

J'ai en effet 5 DTpicker me permettant d'enregistrer la date de réception de mon dossier, la date de signature, la date d'envoi.... bref des dates différentes qui sont sauvegardées dans mon fichier excel.

Ces dates sont indiquées dans les colonnes "T U V W X" de l'onglet BD, mais pour mieux comprendre je joint mon fichier.

En vous remerciant par avance pour votre aide

49ecker.xlsm (151.51 Ko)

Bonjour,

Ce n'est pas le seul problème que tu as...

En effet ta BD comprend de nombreux doublons : C'est normal je suppose parce qu'une même personne peut avoir de nombreux contrats, mais c'est très plus difficile à gérer. Il faut non seulement pouvoir chercher un enregistrement mais pouvoir parcourir ta BD pour trouver éventuellement la ligne suivante si la première n'est pas la bonne...

En fait il faut considérablement remanier ta BD, rajouter un index, revoir aussi le UserForm. Je vais voir ce que je peux faire pour toi, mais il va falloir t'armer de patience, ce n'est pas un truc de débutant et tu ne trouveras sans doute pas beaucoup de répondeurs sur ce sujet.

A coté de ça le problème de date est une peccadille...

A+

bonsoir ecker, galopin01 et le forum

ecker je ne me suis pas occuper de ce que galopin01 t'as dit dans sa réponse, j'ai juste mis un calendrier autonome en remplacement du dtpicker qui n'est pas disponible sur toutes les machines

92ecker.zip (105.78 Ko)

Bonjour Galopin, Grisan, et tout le monde...

D'abord, merci à vous de m'avoir répondu.

Je connais depuis peu ce forum et j'avoue être très agréablement surpris de voir que des personnes comme vous prennent le temps de répondre et de s'occuper d'un "boulet" comme moi... Car en effet,je suis plus qu'un débutant et j'imagine que pour beaucoup d'entre vous, voir ce que je cherche à faire doit en faire rigoler... Surtout à la lecture du code qui ne doit pas être des mieux rédigé...

Donc avant tout, un grand MERCI !

Galopin,

En effet, ce n'est pas le seul problème que je rencontre. Je cherche en fait à les résoudre au fur et à mesure, pour avancer et pour que je puisse comprendre mieux comment ca fonctionne... Mais si tu as en effet des idées pour m'aider, je suis preneur et je ne suis pas pressé, du moment que j'arrive à ce que je veux...

Je t'avour que quand tu dis qu'il faut revoir ma BD, ajouter un index et revoir le userform, je te crois bien volontiers, et je suis curieux de voir où tu veux en venir car, de mon côté, je nage un peu... Créer un index.... je flippe un peu et ne vois pas comment faire...

Grisan,

Merci pour l'ajout de ce calendrier. C'est d'ailleurs super ! J'ai en revanche plusieurs questions (que tu va certainement trouver stupide...)

-"j'ai juste mis un calendrier autonome en remplacement du dtpicker qui n'est pas disponible sur toutes les machines" : je travaille sur ce sujet avec mon ordinateur perso, ca fonctionne. Ne vais-je pâs avoir un soucis avec l'ordinateur au boulot ? J'ai l'impression que tu as intégré ce calendrier dans un module donc il n'y a pas de raison...

  • Tu a ajouté ce calendrier en remplacement du dtpicker1. Comment puis-je faire pour qu'il soit actif pour les 4 autres ?
  • Par la suite, comment faire pour que les dates indiquées soient enregistrées dans ma feuille excel (colonnes T U V W X) ?

En tout cas, je vous remercie encore pour votre premier retour et espère pouvoir vous lire prochainement

Bonsoir,

ça va me prendre un peu de temps parce que c'est complexe donc n'espère pas de réponse avant au plus tôt demain soir...

Si quelqu'un d'autre se lance sur ce sujet, je laisserai tomber... J'ai pas envie de travailler pour faire concurrence à d'autre !

A+

galopin01 a écrit :

Bonsoir,

ça va me prendre un peu de temps parce que c'est complexe donc n'espère pas de réponse avant au plus tôt demain soir...

Si quelqu'un d'autre se lance sur ce sujet, je laisserai tomber... J'ai pas envie de travailler pour faire concurrence à d'autre !

A+

Bonsoir Galopin,

C'est déjà super gentil de ta part de prendre le temps de regarder cela, je ne vais quand même pas faire le difficile en demandant une réponse immédiate !!! Loin de là !!!

Le principale étant que ca fonctionne, peu importe le temps que ca prendra !

bonsoir ecker, galopin01 et le forum

voici ton classeur qui répond a ce que tu as demander pour le calendrier, ca m'as pris un peu de temps mais voila pour le calendrier passe partout, le reste des codes je ne m'en occupe pas je laisse galopin01 s'en charger bien sur il faudra que tu fournisse une copie mieux agencée

107ecker.xlsm (173.05 Ko)

bonsoir ecker

tu n'as pas dit en mettant résolu si ce que je t'ai fait allait

Bonsoir Galopin, bonsoir tout le monde,

Alors là, c'est juste super !

Bravo ! c'est génial ! Bon, je n'ai pas compris comment tu as fait... et la lecture de ton code semble provenir d'une autre planète pour moi... mais c'est top ca fonctionne !!!!!!

Je te remercie pour ton aide !

En découle en revanche une question supplémentaire... (tu vas me détester...)

Comme tu as remarqué, mon formulaire est prévu pour créer un dossier (le problème de date est donc résolu grâce à toi), mais également pour consulter/modifier les dossiers créés préalablement.

J'ai essayé d'intégrer les TB_date dans mon code de Userform, mais je dois mal m'y prendre car ça ne fonctionne pas :

à la consultation des fiches, les dates ne ressortent pas.

As-tu une idée pour celà ?

Je t'en demande beaucoup peut-être.... Désolé....

Ci-joint fichier mis à jour


grisan29 a écrit :

bonsoir ecker

tu n'as pas dit en mettant résolu si ce que je t'ai fait allait

Bonsoir Grisan,

Je viens de répondre et j'ai bien cliqué sur "résolu" : est-ce bien comme celà ? Si je dois faire autre chose dis le moi !!!!! (désolé, assez nouveau sur le sujet et encore plus nouveau sur le forum alors faut pas hésiter à me dire !)

bonjour ecker et le forum

tout tes contrôles se nomment TB et sont gérés par d'ailleurs il faut différencier textbox et combobox TB et CB c'est plus lisible dans le code

For I = 1 To 19
        Me.Controls("TB" & I) = Ws.Cells(Ligne, I + 0)

et la je ne sais pas pour rajouter les TB_date, j'ai essayer ceci dans le change du combobox

 Me.Controls("TB_Date" & I) = Ws.Cells(Ligne, I + 0)

mais ca ne marche pas

je pense que je vais laisser la main a Galopin01 où un autre qui est surement plus aguerri que moi a ces pratiques

je vais suivre le post pour ma gouverne personnelle

mais si tu réponds décoches résolu pour reprendre le même post

bon je suis de retour avec un essai qui affiche les dates dans les tb_date mais pas les bonnes voici le code du change de la combobox

Private Sub Combobox1_Change()
Dim Ligne As Long
Dim I As Integer, J As Integer
Dim TB
Dim TB_date
    If Me.ComboBox1.ListIndex = -1 Then Exit Sub
    Ligne = Me.ComboBox1.ListIndex + 2
    For I = 1 To 19
        Me.Controls("TB" & I) = Ws.Cells(Ligne, I + 0)
    'Me.Controls("TB_Date" & I) = Ws.Cells(Ligne, I + 0)
    UserForm2.TB_date.Value = Range("T" & I + 0).Value'ajout
     UserForm2.TB_date1.Value = Range("U" & I + 0).Value'ajout
      UserForm2.TB_date2.Value = Range("V" & I + 0).Value'ajout
       UserForm2.TB_date3.Value = Range("W" & I + 0).Value'ajout
        UserForm2.TB_date4.Value = Range("X" & I + 0).Value'ajout
    Next I
J = 25
        For I = 1 To 17
        If Ws.Cells(Ligne, J) = True Then
            Me.Controls("CheckBox" & I).Value = True
        Else
            Me.Controls("CheckBox" & I).Value = False
        End If
        J = J + 1
    Next I

End Sub

et voici l'aperçu qui montre que les dates ne correspondent pas a la ligne "guen"

test tb date

Bonjour,

Désolé mais je jette l'éponge pour ce sujet.

Je préfère que tu tente ta chance par ailleurs car je perds trop de temps sur ce sujet.

A+

Bonjour Grisan, Bonjour à tous,

Au tout début, j'ai commencé à m'exercer sur la création d'un userform avec des textbox et des combobox. J'avais des soucis pour récupérer les valeurs eten rgardant sur un forum une personne précisait que, afin de faciliter l'ajout de données, il fallait tout renommer en TBbox (pour l'exemple) pour faciliter le travail...

Vu mon niveau en la matière, j'ai essayé et ca a fonctionné, donc j'ai conservé cette méthode, qui semble pourtant le pas faire l'unanimité, et je comprend bien.

J'avais également essayé d'ajouter les TB_date comme toi et ca ne fonctionne pas (mais venant de moi sans avoir demandé, je n'était pas surpris que ca ne fonctionne pas.....)

J'ai suivi ton conseil et décoché "résolu" en espérant qu'une âme charitable ai la solution.

En tout cas, merci encore d'avoir essayé !!!!

bonsoir ecker, galopin01 et le forum

voici ce que j'ai finalement fait pour le remplissage des dates correspond au choix dans la combobox

j'ai fait un fichier séparer, ça a mis le temps mais voila et je n'irai pas plus loin , le reste est du rangement qui t’incombe

un grand Merci a Lone-wolf pour son aide

maintenant tu peux remettre résolu

Bonsoir Galopin,

Pas de soucis, je comprend.

Merci en tout cas d'avoir essayé !!!!!!!

A bientôt,

Bonsoir Galopin, Bonsoir tout le monde,

Je te remercie encore pour la problématique des dates ! j'ai une dernière question à ce sujet :

Lorsque je fais défiler les noms par la combobox, j'ai une erreur "Erreur d'exécution '91 : variable objet ou variable de bloc With non défini".

Ce message apparaît dès lors que je dépasse le dossier "MERIT"

L'erreur semble être à cet endroit : Me.TB_date = cel.Offset(0, 18)

J'avoue ne pas comprendre... Encore une fois, c'est pas étonnant vu mon niveau...

Ci-dessous la partie du code complet concernée :

Private Sub Combobox1_Change()

Dim Ligne As Long

Dim I As Integer, J As Integer

Dim TB

Dim cel As Range

With Sheets("BD").Range("A2:AU20")

Set cel = .Find(ComboBox1, , xlValues, xlWhole)

If Me.ComboBox1.ListIndex = -1 Then Exit Sub

Ligne = Me.ComboBox1.ListIndex + 2

For I = 1 To 19

Me.Controls("TB" & I) = Ws.Cells(Ligne, I + 0)

Me.TB_date = cel.Offset(0, 18)

Me.TB_date1 = cel.Offset(0, 19)

Me.TB_date2 = cel.Offset(0, 20)

Me.TB_date3 = cel.Offset(0, 21)

Me.TB_date4 = cel.Offset(0, 22)

Next I

En te remerciant par avance,

bonjour ecker et le forum

le je suis perdu car dans ton classeur tous les contrôles sont appelés TB hors j'ai appris qu'il fallait différencier les textbox et combobox pour être plus facile de trouver qui fait quoi

il faudrait une gestion des combobox un peu plus fiable

enfin je ne vais pas y passer la journée mais essayer et si un autre forumeur se sent prêt et ben la porte est ouverte

mais il y a un bug au niveau des checkbox voir aperçu et que je ne sais comment réglé

les TB_dates passeront en CB_date après

bonsoir ecker , galopin et le forum

il a fallu que je créer un post pour trouvé la solution qui se trouvait face a moi comme un nez au milieu de la figure

With Sheets("BD").Range("A2:AU20")

il faut mettre 200 ou plu où moins et cela depasse "merit"

Rechercher des sujets similaires à "dtpicker comment recuperer dates formulaire"