XL 2019 Utilisation Mois.Décaler avec TextBox

Eric4709

XLDnaute Nouveau
Bonsoir à tous,

J'en appelle une nouvelle fois à la compétence des personnes de ce forum :)

Je souhaite utiliser un UserForm pour enrichir un tableau Excel. Dans ce UserForm, j'ai une TextBox dans laquelle l'utilisateur renseignerait la date de notification de sa commande et une seconde TextBox dans laquelle l'utilisateur viendrait ajouter le nombre de mois à ajouter à la date de notification.
Une fois ces deux champs renseignés, j'aimerai que la nouvelle date (notifcation + délai) s'inscrive automatiquement dans un Label du Userform avant d'être ajouté au Tableau excel via un bouton ajouter. Cela permet à l'utilisateur de voir immédiatement la nouvelle date.

J'ai construit le code suivant, mais ça ne fonctionne pas :

Private Sub Label3_Click()
Label13.Caption = Format(DateAdd("m", Acpt_mois_1.Value, CDate(Notification.Value)), "d-mmm-yyyy")
End Sub


Où :
Acpt_mois_1 est la TextBox dans laquelle l'utilisateur mentionne le nombre de mois à ajouter
Notification est la TextBox dans laquelle l'utilisateur renseigne la date de notification

Merci d'avance à tous pour votre aide.
Bonne soirée
 

Jacky67

XLDnaute Barbatruc
Bonsoir à tous,

J'en appelle une nouvelle fois à la compétence des personnes de ce forum :)

Je souhaite utiliser un UserForm pour enrichir un tableau Excel. Dans ce UserForm, j'ai une TextBox dans laquelle l'utilisateur renseignerait la date de notification de sa commande et une seconde TextBox dans laquelle l'utilisateur viendrait ajouter le nombre de mois à ajouter à la date de notification.
Une fois ces deux champs renseignés, j'aimerai que la nouvelle date (notifcation + délai) s'inscrive automatiquement dans un Label du Userform avant d'être ajouté au Tableau excel via un bouton ajouter. Cela permet à l'utilisateur de voir immédiatement la nouvelle date.

J'ai construit le code suivant, mais ça ne fonctionne pas :

Private Sub Label3_Click()
Label13.Caption = Format(DateAdd("m", Acpt_mois_1.Value, CDate(Notification.Value)), "d-mmm-yyyy")
End Sub


Où :
Acpt_mois_1 est la TextBox dans laquelle l'utilisateur mentionne le nombre de mois à ajouter
Notification est la TextBox dans laquelle l'utilisateur renseigne la date de notification

Merci d'avance à tous pour votre aide.
Bonne soirée
Bonjour,
Il serait sage de mettre le classeur avec l'UserForm en PJ
 
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Vous pouvez toujours essayer ça :
VB:
Private Sub Label3_Click()
    Dim dte As Date
    If IsDate(notification) And Val(Acpt_mois_1) > 0 Then
        dte = CDate(notification.Text)
        Label13.Caption = Format(DateSerial(Year(dte), Month(dte) + Val(Acpt_mois_1), Day(dte)), "d-mmm-yyyy")
    End If
End Sub

Si ça ne marche pas, suivez le conseil de @Jacky67.

De façon générale, n'ayez pas peur de tester vos données, leur valeur et leur type avant de les utiliser. Créez des variables du type attendu. C'est peut-être plus long, mais cela vous épargnera bien des difficultés (recherche de source d'erreur, facilité de debogage, etc.).

Actuellement, rien ne vous assure que l'utilisateur rentre bien une date dans votre TextBox, que si c'est une date, qu'elle est dans des limites voulues.
Rien non plus ne vous assure que l'utilisateur rentre un nombre de mois dans des limites attendues. Que se passe-t-il s'il met : 125489 ?

cordialement
 
Dernière édition:

Eric4709

XLDnaute Nouveau
Bonjour,

Effectivement se sera plus simple avec le fichier. Désolé de pas l'avoir fait tout de suite.

Vous verrez dans le UserForm l'utilisateur peut renseigner jusqu'à lignes qui viendront toutes s'incrémenter les unes après les autres dans le tableau. La date de notification est elle la même pour tous les acomptes (d'où le mois décaler).

Merci d'avance pour votre aide
 

Pièces jointes

  • Test_V2.xlsm
    14.9 KB · Affichages: 8

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

J'aurais apprécié trouver dans votre fichier une indication de votre volonté de comprendre, au lieu de cela il n'y a qu'un copier coller sans même une tentative d'adaptation ( aussi ce sera ma dernière intervention ici).

Pour moi, le projet n'est pas suffisamment définit.

Les dates d' acompte sont-elles dépendantes les unes des autres ou non ?

Si on modifie la date de l'acompte N , questions :
- peut-elle être antérieure à la date de l'acompte N-1 ou à la date de notification (non-sens) ?
- peut-elle être postérieure à la date de l'acompte N+1
- faut-il décaler les suivantes en conséquence ?

Voici une solution telle que la question a été posée, c'est à dire qui ne répond pas aux questions précédentes.
Les textBox ont été remplacés par des labels accompagnés de Spin_button. Comme il n'y en a que 6 je me suis abstenu de faire un module de classe. Leur évènement change appelle une procédure paramétrée commune.

Cordialement
 

Pièces jointes

  • Dates_Accompte.xlsm
    22.6 KB · Affichages: 7

Eric4709

XLDnaute Nouveau
Bonjour à tous,

Je vous remercie grandement pour vos retours et votre aide.
J'ai effectivement du repartir d'un nouveau fichier sur lequel j'avais supprimer toutes les données liées à mon entreprises et donc repartir d'un feuille blanche.

Je suis désolé si cela vous a choqué mais il y a bien évidemment des adaptations que je réalise directement dans mon fichier de travail.
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 153
Membres
103 137
dernier inscrit
Billly