Microsoft 365 vba format date et N° automatique

  • Initiateur de la discussion Initiateur de la discussion 974RE
  • 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 !

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

Solution
Bonjour 974RE, Yeahou, le fil,

tu as écrit : « Je crois que Soan à raison, aujourd'hui je coupe: plage, déjeuner les pieds dans l'eau, sieste et......je reprends! »

quoi ? t'as déjà fini d'faire trempette ? 😱 ben t'as pas nagé bien longtemps, dis donc ! tu pourras jamais rattraper Laure Manaudou si tu t'entraînes aussi peu ! 😁 😄 😂 bon, t'as d'la chance, regarde, elle t'attend :

Regarde la pièce jointe 1100325



tu as aussi écrit : « Je vais de ce pas décortiquer tes codes. » ; ben ça non plus ça t'a pas pris bien longtemps ! moi qui croyais qu'on t'reverrai plus avant un mois ou deux ! 😁 🤣 🤣 🤣 bon, c'est vrai qu'mes codes sont très faciles à comprendre, et en plus c'est comme les crêpes : c'est bien plus...​
Bonjour 974,
Dans l'USF Devis, la date s'affiche correctement chez moi :
1613920348346.png

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
 
@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 (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
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
 
@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
 
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
 
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.
 
@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
 
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).
 
- 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

Discussions similaires

Réponses
9
Affichages
647
Réponses
7
Affichages
1 K
  • Question Question
Réponses
0
Affichages
531
Réponses
4
Affichages
1 K
Retour