XL 2019 Date et heure à partir de calendrier (VBA)

LeForain

XLDnaute Junior
Bonjour à tous !

Je me permets de créer cette discussion car sur le fichier que je vous joins, j'aimerais sur mon formulaire que le calendrier que j'ai inséré me permette de m'inscrire la date dans la colonne date de la feuille "BASE".
La feuille BASE sera celle sur laquelle je souhaite récupérer toutes les informations qui auront été inscrites sur mon formulaire et validées.

J'ai suivi plusieurs posts et vidéos et j'en suis arrivé au code qui est dans VBA.
Cependant, quand je valide ma date, j'obtiens dans ma feuille BASE une suite de chiffres pour laquelle je ne trouve aucun rapport à la date du jour.

Pourriez-vous SVP m'aider ?

Merci par avance pour le temps que vous m'accorderez ! :)
 

Pièces jointes

  • Version simple2.xlsm
    33.6 KB · Affichages: 20

LeForain

XLDnaute Junior
Rebonjour soan,

Effectivement, c'était une suite 44763. Merci c'est résolu ! :)

J'ai encore une petite question vu qu'on y est.

Dans mon formulaire, je peux sélectionner des noms de personnes de différents postes. Seulement, quand je veux enchainer plusieurs fois avec le même formulaire et que je veux changer de personne, ce que j'avais sélectionné la fois d'avant reste. J'aimerais qu'il soit possible de sélectionner une seule personne, sur un seul poste. Comment pourrais-je faire cela ? :)
 

soan

XLDnaute Barbatruc
Inactif
ce que j'avais sélectionné la fois d'avant reste.

ben dans ce cas, il suffit de l'effacer ! 😄 par exemple : TextBox1 = ""



si tu veux effacer plusieurs champs, tu peux faire la même chose pour chaque :

VB:
  TextBox1 = "": TextBox2 = "": TextBox3 = ""
  TextBox4 = "": TextBox5 = "": TextBox6 = ""

à placer dans la sub où tu veux faire un effacement !


tu peux aussi utiliser une boucle de ce style :

VB:
  Dim i As Byte
  For i = 1 To 6
    Controls("TextBox" & i) = ""
  Next i

à placer dans la sub où tu veux faire un effacement !

soan
 

LeForain

XLDnaute Junior
Le problème c'est que je ne peux pas l'effacer car je n'ai pas de champ "blanc" dans ma liste déroulante.
Mais le mieux, le plus "pro" je pense, serait que quand le formulaire revient, les champs de la fois d'avant soient effacés.

D'ailleurs je ne sais pas si tu as vu dans le fichier mais les infos d'un seul poste fonctionnent lors dans l'exportation.
Je crois avoir compris pourquoi : c'est toujours le dernier dans la liste de code qui est le seul qui fonctionne : dans l'état du fichier que j'ai joins, c'est le poste DM qui fonctionne et pas les autres.

J'ai fais de nombreux essais, mais je ne parviens pas à ce que les trois fonctionnent :(
 

soan

XLDnaute Barbatruc
Inactif
@LeForain

ton fichier en retour. :)

code VBA de UFFormulaire :

VB:
Option Explicit

Dim oControl As Control, lNumL&

Private Sub CommandValider_Click()
  Worksheets("BASE").Activate
  lNumL = Range("NumEnregistr").CurrentRegion.Rows.Count + Range("NumEnregistr").Row
  Cells(lNumL, Range("Nom").Column) = ComboBox_posteDG.Text
  Cells(lNumL, Range("Nom").Column) = ComboBox_postejour.Text
  Cells(lNumL, Range("Nom").Column) = ComboBox_posteDM.Text
  'Cells(lNumL, Range("Date").Column) = MonthView1
  Cells(lNumL, Range("Commande").Column) = Label_nom_commande.Caption
  Cells(lNumL, Range("Element").Column) = ComboBox_element.Text
 
  'Sélection de couture ou coupe ou opérateur ou conditionnement
  For Each oControl In GrPostedetravail.Controls
    If Left$(LCase(oControl.Name), 3) = "opb" Then
      If oControl.Value Then
        Cells(lNumL, Range("PosteDeTravail").Column) = oControl.Caption
      End If
    End If
  Next oControl
 
  Cells(lNumL, Range("NumEnregistr").Column) = _
    Application.WorksheetFunction.Max(Range(Range("NumEnregistr").Offset(1), Cells(lNumL - 1, Range("NumEnregistr").Column)))
 
End Sub

Private Sub UserForm_Initialize()
  ComboBox_posteDG.ListIndex = -1
  ComboBox_posteDM.ListIndex = -1
  ComboBox_postejour.ListIndex = -1
  Label_nom_commande.Caption = Sheets("RESULTATS").Range("A1")
  ComboBox_element.ListIndex = -1
End Sub

soan
 

Pièces jointes

  • Version simple2 v2.xlsm
    38.9 KB · Affichages: 13

LeForain

XLDnaute Junior
@soan ,

Merci pour ton retour ! :D

C'est bizarre, sur ton fichier, impossible pour moi d'exécuter le formulaire :
1657026976088.png


1657027280756.png


Et toujours aucun nom de personne ne s'affiche dans mon tableau de la page BASE

J'ai en fait désormais une erreur à chaque ligne du VBA !
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG