Afficher une textbox avec un message a l'ouverure USF

mendigot

XLDnaute Occasionnel
Bonjour a tous le forum,

J'ai besoin a nouveau de votre aide po afficher un message d'avertissement a l'ouverture d'un usf.


Est il possible d'afficher a l'ouverture d'u usf une textbox qui donnerai " Bonjour vous avez X commandes en retard"

Par rapport a la date envoie atelier + 10 jours ( en fonction date du jour) uniquement si pas de date dans la colonne DATE ENVOIE CLIENT
Je vous joint un petit fichier modèle

Je vous remercie tous d'avance de votre aide

Bon Dimanche a tous
 

Pièces jointes

  • retard1.xlsm
    22.1 KB · Affichages: 31
  • retard1.xlsm
    22.1 KB · Affichages: 31
  • retard1.xlsm
    22.1 KB · Affichages: 31

JCGL

XLDnaute Barbatruc
Re : Afficher une textbox avec un message a l'ouverure USF

Bonjour à tous,

Peux-tu essayer avec :

VB:
Private Sub UserForm_Initialize()
Me.Label3.Caption = "Nous sommes le " & Format(Now, "dddd dd mmmm yyyy à hh:mm")
Me.TextBox1 = "Bonjour, vous avez " _
& Application.WorksheetFunction.CountA(Feuil2.Range("C2:C5000")) _
- Application.WorksheetFunction.CountA(Feuil2.Range("E2:E5000")) _
& " commandes en retard."
End Sub

A+ à tous
 

Dranreb

XLDnaute Barbatruc
Re : Afficher une textbox avec un message a l'ouverure USF

Bonjour.

Pas compris la même chose :
VB:
Private Sub UserForm_Initialize()
Dim T(), NbL As Long, L As Long, NbRetard As Long, DateLim As Date
NbL = Feuil2.[A65000].End(xlUp).Row - 1
T = Feuil2.[A2:F2].Resize(NbL).Value
Me.Label3.Caption = Format(Date, "dddd dd mmmm yyyy")
DateLim = Date - 10
For L = 1 To NbL
   If IsDate(T(L, 3)) And Not IsDate(T(L, 5)) Then If T(L, 3) > DateLim Then NbRetard = NbRetard + 1
   Next L
If NbRetard > 0 Then Me.TextBox1.Text = "Bonjour. vous avez " & NbRetard & " commandes en retard."
End Sub
 

mendigot

XLDnaute Occasionnel
Re : Afficher une textbox avec un message a l'ouverure USF

Bonjour, JCGL, Dranreb, Paf


Je vous remercie tous de votre aide.
Je pense que je me suis mal exprimé dans le fichier je n'ai que 3 dates concernées sur les 4 cellules vides

l'envoie clients doit se faire 10 jours maximum apres l'envoie atelier par contre si une date est saisie l'avertissement disparait

Cordialement
 

Dranreb

XLDnaute Barbatruc
Re : Afficher une textbox avec un message a l'ouverure USF

… Et par conséquent, si la date envoi client n'est pas renseignée, la date envoi atelier augmentée de 10 ne doit pas dépasser aujourd'hui, ce qui revient au même que: la date envoi atelier ne doit pas dépasser aujourd'hui diminué de 10. Mais c'est sûr qu'on se pose de questions quant au raisonnement sur tout ça …
Ah non, ah non c'est p'têt bien If T(L, 3) < DateLim Then NbRetard = NbRetard + 1 … ?
Voir la proposition de Paf, qui allait dans le bon sens alors.

Ce qui donne :
VB:
Private Sub UserForm_Initialize()
Dim LFin As Long, NbRetard As Long
LFin = Feuil2.[A65000].End(xlUp).Row
NbRetard = Application.Evaluate("SUMPRODUCT((C2:C" & LFin & "<Now()-10)*(E2:E" & LFin & "=""""))")
If NbRetard > 0 Then Me.TextBox1.Text = "Bonjour. vous avez " & NbRetard & " commandes en retard."
End Sub
Ou bien finir par :
VB:
Select Case NbRetard
   Case Is > 1: Me.TextBox1.Text = "Bonjour. Vous avez " & NbRetard & " commandes en retard."
   Case Is = 1: Me.TextBox1.Text = "Bonjour. Vous avez une commande en retard."
   Case Else:   Me.TextBox1.Text = "Bonjour. Vous n'avez pas de commande en retard."
   End Select

Mais pourquoi un TextBox1 et pas aussi un Label ?
 
Dernière édition:

mendigot

XLDnaute Occasionnel
Re : Afficher une textbox avec un message a l'ouverure USF

Re Dranreb, Le forum

Votre deuxième solution me convient bien cependant elle ne fonctionne pas a chaque fois un coup j'ai bien les 3 et un coup j'ai les 9 lignes
J'ai rajouté une colonne Numero sur la feuille et une listbx sur l'usf est il possible d'afficher dans la listbox les numéros concernés ?

En vous remerciant


EDIT : J'avais pas fait attention
Mais pourquoi un TextBox1 et pas aussi un Label ?

effectivement cela peux etre un label
Cordialement
RE EDIT J'ai changer par un label mais cela ne fonctionne toujours pas toujours les 9 lignes dans le total
 

Pièces jointes

  • retard1.xlsm
    23.7 KB · Affichages: 28
  • retard1.xlsm
    23.7 KB · Affichages: 30
  • retard1.xlsm
    23.7 KB · Affichages: 33
Dernière édition:

mendigot

XLDnaute Occasionnel
Re : Afficher une textbox avec un message a l'ouverure USF

Bonsoir Si..., Le forum

Je te remercie de ta solution qui fonctionne parfaitement.

Par contre puisje remplacer la ligne du Me.caption du usf par le label que j'avais mis pour la date car c'est un usf qui comporte deja un Nom ? EDIT : J'ai fait le nécessaire et cela fonctionne

salut

ta "formule" ne cherche pas sur la bonne feuille.
Autre proposition parmi tant d'autres.

Ouppsss comprend pas ou est l'erreur ?


Merci beaucoup a toi
 
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Afficher une textbox avec un message a l'ouverure USF

Re

précision, avec

Application.Evaluate("SUMPRODUCT((D2:D" & LFin & "<Now()-10)*(F2:F" & LFin & "=""""))")

dans quel onglet sont les plages ? Ici dans la feuille active "Bienvenue" !

Pas difficile d'ajouter un label !
 

Pièces jointes

  • Alerte retard (usf) .xlsm
    25.2 KB · Affichages: 18

mendigot

XLDnaute Occasionnel
Re : Afficher une textbox avec un message a l'ouverure USF

Bonsoir Si....! Dranreb, Le Forum

Je vous remercie tous les deux .

Pour le label j'avais deja réglé le problème. merci. et j'avance doucement mais surement....!!! LOL !

Sans abuser de votre gentillesse,
Je viens de modifier un peu le usf et je souhaiterai d'autres informations a l'initialise de l'usf

Afficher: nb commande totale
nb commande en cours
nb commande eexpediées
nb commande annulée

Je vous remercie encore pour votre aides
et je joint le fichier modifié

Bonne soirée a vous

EDIT : j'ai oublier de vous dire que les deux versions fonctionnent
 

Pièces jointes

  • Alerte retard(usf)V1.xlsm
    29.7 KB · Affichages: 29
  • Alerte retard(usf)V1.xlsm
    29.7 KB · Affichages: 28
  • Alerte retard(usf)V1.xlsm
    29.7 KB · Affichages: 29
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Afficher une textbox avec un message a l'ouverure USF

Alors si vous le faite quand même plutôt par une boucle, chargez d'abord tout dans un petit tableau comme j'ai fait au poste #3. Ça sera plus facile et surtout beaucoup plus rapide.
 

mendigot

XLDnaute Occasionnel
Re : Afficher une textbox avec un message a l'ouverure USF

Re Dranreb, Si...! le forum

Je vous remercie de vos conseils ,
je suis encore un novice mais pas beaucoup de temps libre a consacrer malheureusement, j’essaie de temps en temps de crrer des petites applications pour me perfectionner et j'apprends beaucoup en parcourant le forum et je lis beaucoup de vos solutions ( toujours excellentes)
mais pas toujours facile a appliquer pour moi.

sur ce fichier pour le moment, j'ai pris celui de Si.... ( dont je lis aussi beaucoup ses codes) mais je reviendrai sur le votre.

malheureusement je bloque déja sur ce que je veux rajouter..!!! Lol

Encore merci pour vos conseils
Je vous souhaite une bonne soirée
Cordialement
 

Si...

XLDnaute Barbatruc
Re : Afficher une textbox avec un message a l'ouverure USF

re

Je lis aussi celles de Dranreb et essaie d’en tirer profit.

Pour les données à calculer, une autre proposition - style écolier - à tester .
 

Pièces jointes

  • Alerte retard(usf)V1.xlsm
    32.9 KB · Affichages: 34
  • Alerte retard(usf)V1.xlsm
    32.9 KB · Affichages: 32
  • Alerte retard(usf)V1.xlsm
    32.9 KB · Affichages: 44

Discussions similaires