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

Microsoft 365 vba format date et N° automatique

974RE

XLDnaute Occasionnel
Bonsoir le forum,
Une fois de plus je fais appel à vous.
Je rencontre 2 problèmes que je n'arrive pas à résoudre:
1° Sur mes USF Visualiser et Modifier, mes textBox Heures ne s'affiche pas au format hh:mm bien que j'ai précisé ce format.
2° je n'arrive pas à l'ouverture de l'USF Devis à ce qu'il me donne automatiquement le N° Suivant qui devrait être 2021-002 puis au prochain devis 2021-003...
Auriez-vous la gentillesse de bien vouloir m'aider s'il vous plaît.
Je sais pouvoir compter sur votre aide.
Merci d'avance!
 

Pièces jointes

  • Essai CL1 Copie.xlsm
    182.4 KB · Affichages: 182
Solution

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour 974,
Dans l'USF Devis, la date s'affiche correctement chez moi :

Pour le point 2, la feuille n'est pas précisée, j'ai supposé que c'était "Archive Devis", ensuite Ligne pointe la première ligne vide donc contient toujours 0, il faut utiliser le N° de la Ligne-1. J'ai modifié ainsi :
VB:
Set Ws = Sheets("Prestation")
Set F = Sheets("Archive Devis")
Me.Désignation.List = Ws.Range("ListForfaits").Value

If Ligne = 2 Then
    Me.TextBox6 = Year(Date) & "-001"
Else
    Me.TextBox6 = Year(Date) & "-" & Right("00" & Val(Right(F.Cells(Ligne - 1, 1), 3)) + 1, 3)
End If
 

soan

XLDnaute Barbatruc
Inactif
@974RE (salut sylvanu)

UF Visualiser, subs HDépart_Exit, HArrivée_Exit, et Total_Heure_Exit :
tu as mis le format hh\Hmm au lieu de hh:mm !

UF Modifier : c'est ok : y'a pas de hh\Hmm !



c'est bizarre : en principe, tu devrais avoir un problème de format d'heures seulement pour le UF Visualiser, pas pour le UF Modifier !​

soan
 
Dernière édition:

974RE

XLDnaute Occasionnel
Bonsoir Sylvanu,
mon problème de date se trouve au niveau des heures de départ/Arrivée des USF.
La feuille qui est concerné est la feuille devis qui devrait à son ouverture afficher le nouveau n°
Merci beaucoup pour ton aide.
 

974RE

XLDnaute Occasionnel
J'en conviens, grâce à ta remarque j'ai constaté que j'avais écrit en 2 fois les codes de format dans l'USF Visualiser.
J'ai rectifié et j'ai toujours le même problème. ils affichent 0,5 ou 0,625 ou encore 0,125???
Merci de tes réponses. Je reste dans l'attente d'une solution
 

soan

XLDnaute Barbatruc
Inactif
@974RE

j'ai trouvé ces autres anomalies :

* UF Visualiser, sub ComboBox1_Change() : tu n'emploie pas le format hh:mm pour :
HDépart1 ; HArrivée1 ; Total_Heure1 ; HDépart2 ; HArrivée2 ; Total_Heure2

* UF Modifier : idem dans la sub ComboBox1_Change() ; et dans valider_Click(),
c'est pour : HDépart ; HArrivée ; Total_Heure

soan
 

soan

XLDnaute Barbatruc
Inactif
oui, c'est bien ça ; comment ? de la même façon que ce que tu as déjà fait.

exemple pour UF Visualiser, sub ComboBox1_Change() :

VB:
    ...
   
    Me.HDépart1 = Format(.Range("L" & Ligne), "hh:mm")
    Me.HArrivée1 = Format(.Range("M" & Ligne), "hh:mm")
    Me.Total_Heure1 = Format(.Range("N" & Ligne), "hh:mm")
   
    ...
   
    Me.HDépart2 = Format(.Range("R" & Ligne), "hh:mm")
    Me.HArrivée2 = Format(.Range("S" & Ligne), "hh:mm")
    Me.Total_Heure2 = Format(.Range("T" & Ligne), "hh:mm")
   
    ...

(pareil pour tous les autres endroits où tu écris des heures dans des TextBox)

soan
 

974RE

XLDnaute Occasionnel
Merci soan. Ton aide m'a été très précieuse ainsi que celle de sylvanu. Merci à tous les deux!
J'avais pas mal avancé, mais là je "calais".
Je mettrais en place tout cela dès demain.
Je fatigue un peu.
Bonne soirée à vous, à bientôt et merci encore.
 

soan

XLDnaute Barbatruc
Inactif
@974RE

j'ai relu ton 2°, à propos du n° automatique ; à faire demain :

essayer cette nouvelle sub UserForm_Initialize() (du UF Devis) :

VB:
Private Sub UserForm_Initialize()
  Dim lig&, chn$: Jour = Date: lig = 2
  Do
    chn = Worksheets("Client").Cells(lig, 3): If chn = "" Then Exit Do
    ComboBox1.AddItem chn: lig = lig + 1
  Loop
  Désignation.List = Worksheets("Prestation").Range("ListForfaits").Value
  lig = Worksheets("Client").Cells(Rows.Count, 3).End(3).Row + 1
  TextBox6 = Year(Date) & "-" & Format(lig, "000")
End Sub

soan
 

974RE

XLDnaute Occasionnel
Soan bonjour, tout d'abord, merci de l'attention que tu mets à m'aider.
Pour les problèmes d'affichage des heures, c'est réglés. Ouf!
Par contre, j'ai testé ce matin ton code pour le N° automatique, il m'affiche systématiquement 2021-004.
Ce que je cherche à faire, c'est que dès le 1er devis il m'affiche 2021-001 et ensuite il enchaîne pour les Devis suivants.
J'ai également découvert ce matin que j'avais un problème sur le code du bouton quitter: si je ne suis pas sur la feuille "Devis" il beug à la ligne de code :ActiveSheet.ListObjects("Devis").DataBodyRange.Delete
Merci de partager ton savoir avec autant de gentillesse: un post à 22h30, grave Merci! (chez moi il était 1h30 du matin).
 

Discussions similaires

Réponses
3
Affichages
330
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…