Saisie InputBox et formule

Bonjour à tous,

J'ai une feuille Excel sur laquelle je compare des dates. En gros je compare deux dates, et j'affiche la plus récente:

=SI(A3<A2;A3;A2)

Cela fonctionne parfaitement.

Le problème c'est que maintenant, les dates sont entrées sur la feuille grâce à une saisie de données avec InputBox.

Et quand la cellule est remplie avec l'inputbox et non manuellement, cela ne fonctionne plus!

Quelqu'un aurait une idée d'où cela pourrait venir? Je précise que les cellules ont un format date.

Merci d'avance.

Salut,

La prochaine fois, joins un fichier modèle.

Dans le fichier ci-joint, si tu inscrits une date plus récente que celle en A1, cette dernière est remplacée, sinon il ne se passe rien.

Je n'ai placé aucun garde-fou, tel que si tu entres du texte dans le InputBox.

Cordialement.

11freeflyer64.xlsm (17.59 Ko)

Salut Yvouille,

Ci joint le fichier.

Dans la feuille "BD" (désolé c'est un peu fouillis!), la colonne W (Date Péremption) compare la colonne V (Date Validité Pliage Secours) et la colonne O (Date Prochaine Révision). Si V<O alors on affiche la date de la colonne V sinon la date de la colonne O. On affiche donc la date la plus récente.

Cela fonctionne parfaitement lorsque je saisi les données manuellement.

En revanche, lorsque je saisi les données via une InputBox (via "Ajouter un sac" de l'onglet "Changement"), cela ne fonctionne plus.

Tu peux voir sur la ligne 16 qui a été rentrée avec l'inputbox, que cela ne m'affiche pas la bonne date.

Re-salut,

Tes remerciements pour le travail déjà accompli et tes excuses de ne pas avoir fourni le fichier réel tout de suite sont tout acceptées

La date renvoyée par ton inputbox l'est à un format spécial qui n'est pas considéré par Excel comme une date. Parmi les 36 solutions à ton problème, il y a celle de transformer l'information reçue par ton InputBox en un format de date par l'instruction CDate(), tel que ci-dessous :

Sheets("BD").Range("V" & nb_ligne + 2) = CDate(date_pliage)

A la place de tes 36 InputBox, ne vaudrait-il pas mieux n'avoir qu'un seul UserForm, du genre :

capture

Cordialement.

Re,

Tu as raison j'ai oublié les bonnes règles de courtoisie Autant pour moi.

Donc en effet, merci pour ton aide, et désolé de ne pas avoir fourni le fichier d'entrée de jeu pour plus de clarté

Merci pour ta solution, c'est ce que je pensais après réflexion, qu'il faille "convertir" le résultat en date.

Pour ce qui est de l'UserForm j'aimerai vraiment !!!! Le problème c'est que j'ai Excel 2016 et que à priori on ne peut pas en créer

J'ai bien essayé de désinstaller Excel 2016 pour mettre Excel 2011, mais je me rends compte que 2011 n'est plus disponible, on ne trouve que des mises à jour.

Si jamais tu as une solution par rapport à ça, je t'en remercie d'avance! J'ai découvert les macro il n'y a pas longtemps et je m'amuse vraiment bien avec Mais dès que j'ai vu les UserForm, j'ai vite vu la porte que ça pouvait ouvrir mais j'ai été stoppé rapidement dans mon enthousiasme en apprenant que la version 2016 ne permettait pas cela

Merci encore pour ton aide et par la même occasion bonnes fêtes

Je crée plusieurs UserForm par année depuis 2007 avec toutes sortes de versions et je n'ai jamais entendu dire que l'une ou l'autre ne le permettait pas.

Je vais créer un début de UserForm à ton attention et te le montrerai d'ici ce soir. Tu pourras alors normalement le compléter toi-même.

A toute.

D'accord, je te remercie.

J'avais pourtant vu des messages sur ce forum confirmant que les possibilités d'Excel 2016 étaient moindres comparé à Excel 2011 en terme de vba, et que l'on ne pouvait pas créer d'UserForm car cela n'était pas "proposé". On peux insérer un module ou module de classe mais pas un UserForm:

sans titre

Dans le fichier ci-joint, je n’ai laissé que deux feuilles car tes macros sont transformées à un format de texte un peu bizarre – comme dans l’image ci-dessous – et ça peut faire des interférences.

Mais soit tu arrives à transposer mon travail sur ton fichier réel, soit je vais t’y aider.

Tu as des bizarreries dans tes codes – comme de traiter la colonne U avant la colonne T – et j’espère qu’il n’y ait pas trop de petites erreurs du genre.

Cependant, tu devrais pouvoir tester ce travail et me dire comment ça va pour ce début.

Concernant ta version Excel, c’est assez surprenant. J’ai contrôlé et j’ai bien la version 2016 ici en privé et je peux ajouter des UserForm.

La macro se déclenche par le même bouton que sur le fichier reçu de ta part.

Amicalement.

Merci à toi

Je prends le temps de regarder ça tranquillement et je reviens vers toi!

Bonne journée.

Tu l'as peut être vu dans mes captures d'écran, mais petite précision: je suis sur MAC.

Je ne sais pas si cela peut avoir de l'importance par rapport aux versions d'Excel?

A l'aide du fichier ci-joint, tu devrais pouvoir lire ta version Excel. Ci-dessous, le résultat que ça donne chez moi, en privé (clique dessus afin de mieux voir).

capture

J'ai plein de potes avec qui j'échange qui ont des Mac et je n'ai jamais entendu dire qu'ils n'avaient pas la possibilité d'utiliser et de créer des UserForm. Ce serait monstrueux de la part de Microsoft !

Quant est-il du UserForm que je t'ai fourni ? Ca fonctionne un peu, beaucoup, pas du tout ?

Bonjour,

Pour Excel Mac 16.xx.xx, on ne peut pas créer de Userforms.

Cdlt.

Voici la version Excel que j'utilise:

sans titre

J'ai réussi à utiliser l'UserForm que tu m'as fournit sans aucun problème.

Donc pour résumer, je peux utiliser des UserForm venant d'ailleurs, mais comme a dit Jean Eric, je ne peux pas en créer. Du coup je ne peux pas non plus modifier celui que tu m'as transmis.

Si jamais dans tes amis, tu en as qui ont la même version que moi et qui arrive à créer des UserForm, je suis preneur

@ Jean-Eric

Merci pour ton intervention qui apporte un peu de lumière dans cette discussion. J'ai un peu de la peine à comprendre cette décision de ne pas fournir la possibilité d'utiliser quelque chose qui fonctionnait bien auparavant. C'est un peu comme si Mac décidait de ne plus laisser utiliser les fonctions SI(), RECHERCHEV() et INDIRECT() dans la version xx

@ freeflyer64

Je suis désolé pour toi que tu ne sois pas suisse. Comment je le sais ? Parce que ton séparateur décimal est la virgule et non pas le point

Si tu peux utiliser le UserForm que j'ai créé pour toi, tu peux me dire les modifications que tu dois y apporter et je le ferais.

Pour créer d'autres UserForm, passe plutôt par le Forum. Et éventuellement que ce sera à nouveau moi qui te répondrais, selon le temps à disposition.

Cordialement.

Merci beaucoup pour ton aide

C'est avec plaisir que j'accepte quelques petites modifications pour mon UserForm. J'essaye de faire le point et je te dit ça.

Sinon je pense que j'ai une autre solution: pour l'instant je suis en Nouvelle Calédonie, mais je rentre en début d'année chez moi où je possède mon ancien ordinateur (PC). Donc j'imagine qu'avec la version PC je pourrai créer des UF utilisable ensuite sur MAC.

Finalement, j'ai créé une page formulaire, car ça sera plus pratique que de demander à quelqu'un à distance via le forum.

Ci joint le fichier.

Je suis preneur de toute remarque constructive si vous voyez des choses que je pourrais améliorer.

Cdt

Rechercher des sujets similaires à "saisie inputbox formule"