| Date | Auteur du sujet | Sujet | Extrait du message |
|---|
| 11/02/2024 à 19:51 | Léo39 | Optimisation utilisation d'index | @h2so4, tu as vraiment cerné mon besoin, c'est exactement ce que je cherchais à faire. La 2éme macro ne convient pas que je dois pouvoir changer l'ordre via les index. Merci J @fanfan38, merci d'avoir essayé de m'aider, comme l'a dit h2so4, mes explications n'étaient pas très claire. Bonne soirée... |
| 11/02/2024 à 16:28 | Léo39 | Optimisation utilisation d'index | Cette exemple n'est qu'un test pour essayer de comprendre! Que manque-t-il pour qu'il soit fonctionnel... |
| 11/02/2024 à 11:09 | Léo39 | Optimisation utilisation d'index | Merci à vous 2! @h2so4, je pense que votre solution est la bonne. Voyez-vous quelle est mon erreur concernant l'incompatibilité de type ... |
| 11/02/2024 à 09:55 | Léo39 | Optimisation utilisation d'index | Voici un fichier exemple, J'ai une incompatibilité de type... |
| 10/02/2024 à 22:37 | Léo39 | Optimisation utilisation d'index | J'utilise un select case qui pour le moment contient 3 index. Je vais avoir une centaine d'index Comment éviter l'appel à ces index un par un comme je le fait dans résultat ... |
| 16/12/2023 à 16:59 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | Une correction? pouvez-vous m'en dire un peux plus? Bien cordialement... |
| 16/12/2023 à 10:56 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | Je comprends qu'un peu plus d'explication s'impose : La fonction SetYear a été développée dans le but d'essayer de respecter les critères du standard GS1. GS1 (abréviation de Global Standards 1) organisme mondial actif dans le domaine de la normalisation des méthodes de codage utilisées dans la chaî... |
| 16/12/2023 à 01:36 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | @Jean-Paul, merci pour ces explications Je regarde pour mettre tous cela en place dès que possible. Comme je l'ai expliqué dans l'un des messages précédents, la fonction SetYear traite la date de telle sorte que La chaîne "YY" ne peut spécifier qu'une date comprise entre 49 ans dans le passé et 50 a... |
| 14/12/2023 à 09:37 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | @Jean-Paul, Tous vos exemples m'ont aidé pour comprendre la logique vers laquelle vous vouliez me guider ! De petites choses font que me vieux cerveau me dit stop quand je ne comprends pas, comme par exemple : Dans la 1er fonction, vous déclarez IsDayValid As Variant Dans la 2ème fonction, vous décl... |
| 13/12/2023 à 18:26 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | Re, @Jean-Paul Je me rends compte que si je veux réellement suivre votre conseil (penser Excel avant de penser VBA) toutes les vérifications de validité sur les mois 1 à 12 et 31 ou 30 jours… , devraient pouvoir être géré par des fonctions Excel ? Je suis un peu dans l'inconnue. Si votre temps le pe... |
| 13/12/2023 à 14:54 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | @Jean-Paul J'en suis au début du programme, tout est là. La fonction SetYear traite MyDate (la date au format YYMMDD) de telle sorte que La chaîne "YY" ne peut spécifier qu'une date comprise entre 49 ans dans le passé et 50 ans dans le futur avec comme pivot, l'année en cours. Quand l'année en cours... |
| 13/12/2023 à 10:20 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | @BrunoM45, en séparent la 2 ème partie de la date finale c'est OK! J'ai une petit "Bug". En testant le jour 0 pour janvier avec MyDate = "230100" Le remplacement de 0 par le dernier jour du mois fonctionne, mais je n'ai pas le bon message. Je devrais obtenir: 230100 => 31/01/2023 => 230100 Jou... |
| 12/12/2023 à 20:30 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | Merci à vous tous, j'étudie toutes les possibilités! @jean-Paul, merci pour votre intervention. Vos fonctions sont certainement plus adaptées à la gestion du dernier jour du mois, mais me perturbe beaucoup! J'éprouve beaucoup de difficultés à adapter l'existant, notamment ma fonction SetYear. Concer... |
| 12/12/2023 à 17:36 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | @BrunoM45 Merci d'intervenir pour tenter de m'aider. Dans l'état actuel en copiant le code que vous avez modifié dans un module Pour (MyDate = "950431") l'exécution j'obtiens : 950431 => ------------- Et pour un jour a 0 (MyDate = "950400") l'exécution j'obtiens : 950400 => 30/04/1995/950400 J... |
| 12/12/2023 à 16:26 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | Dans le cas ou DD = 0 en plus de la conversion en dernier jour du moi, j'aimerais avoir le message. Comme vous l'avez fait remarquer, le message et implicitement la réponse. J'essaie de sortir ce message de la réponse pour l'appeler en plus, mais, je ne dois pas agir ou il faut! Exemple du résultat... |
| 12/12/2023 à 15:55 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | J'aimerais autant que possible éviter le recours à une cellule, j'imaginais plutôt une nouvelle condition ou test, mais je ne trouve pas où le faire... |
| 12/12/2023 à 15:12 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | Ces dates sont extraites de codes-barres et dans certain cas le jour n'est pas spécifié! Dans ce cas le dernier jour du moi est appliqué! 231200 devient 231231 soit 31/12/2023. Dans ces codes-barres le format et YYMMDD... |
| 12/12/2023 à 14:07 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | Re-bonjour, Les messages relatifs au jour = 0 ne sont pas gérés. Comment puis-je les afficher? Ma sub... |
| 12/12/2023 à 12:09 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | Merci pour votre exemple! Je ne comprenais pas pourquoi mes tentatives étaient infructueuses. J'exploite effectivement la fonction CheckDate en dehors du module et j'utilisais une déclaration locale! J'avais hormis la déclaration Public, malgré le message d'erreur de compilation: Variable non défini... |
| 11/12/2023 à 20:13 | Léo39 | Gérer les messages "Debug.Print" d'une fonction depuis une Sub | J'ai des messages "Debug.Print" géré dans la fonction (CheckDate). J'aimerais les gérer depuis la Sub (TestDate). Comment pourrais-je procéder... |
| 07/12/2023 à 21:04 | Léo39 | Conversion petit code C vers VBA | Merci pour votre aide et le temps accordé! Votre modification correspond à la demande. Bien cordialement... |
| 06/12/2023 à 19:36 | Léo39 | Conversion petit code C vers VBA | Pas simple de trancher au bon endroit! 50 années pour 0 à 49 et 50 années aussi pour 50 à 99 Si on se dit: 0 à 49 pour le passé 50 à 99 pour le futur Je dirais: J'enlève le = du 1 er If YY pour que inférieur à 50 donc 49. J'enlève le = au 0 de ElseIf Le changement ne se fait plus à XX50, mais à XX49... |
| 05/12/2023 à 21:54 | Léo39 | Conversion petit code C vers VBA | Je croix que cette fois c'est bon! J'avais fait une erreur dans mes explications (Si année en cours – 50 est négatif et YY inférieur ou = à 50) = siècle en cours, si non siècle d'avant. (Si année en cours - 50 est positif et YY Supérieur ou = à 50) = siècle en cours si non siècle d'après. Merci, vou... |
| 04/12/2023 à 21:36 | Léo39 | Conversion petit code C vers VBA | En repensant a votre 1 ère proposition: J'ai imaginé le scénario suivant YY = 0 à 99 En considérant les 2 chiffres de droite de l'année en cours current_year = Right(Year(Now), 2) + 0 Année en cours = 23 Siècle d'avant = 1900 Siècle en cours = 2000 Siècle d'après = 2100 (Si année en cours – 49 est n... |
| 03/12/2023 à 19:44 | Léo39 | Conversion petit code C vers VBA | Merci pour cette exemple ! Au passage petite question! Dans votre première réponse, sur la ligne de code: Quel est l'utilité de + 0 à la fin ? Bien cordialement... |
| 02/12/2023 à 20:42 | Léo39 | Conversion petit code C vers VBA | On peu essayer! comment géreriez-vous... |
| 02/12/2023 à 16:05 | Léo39 | Conversion petit code C vers VBA | En fait j'e me suis trompé! Pour l'année actuelle, 2023! 2023 - 50, couvre de 2023 à 1973 2023 + 51, couvre de 2023 à 2074 Dans 27 ans soit en 2050 la couverture 1900 sera terminée 2050 – 50, couvre de 2050 à 2000 2050 + 51, couvre de 2050 à 2101 C'est là qu'il faut intervenir, ce ne sera pas 2050 +... |
| 02/12/2023 à 14:17 | Léo39 | Conversion petit code C vers VBA | Il y a un "range" autour de la date "pivot" Exemple pour pivot = 2023: 2023 - 50 => 1974 jusqu’à 1999 Soit yy = 74 jusqu’à y = 99 2023 + 51 => 2073 jusqu’à 2000 Soit yy = 0 jusqu’à y = 73 Si pivot change le "range" suit. C'est ce "range" que j'essaie de définir pour 2100. Il devrait commencer... |
| 02/12/2023 à 13:25 | Léo39 | Conversion petit code C vers VBA | J'ai peut-être une piste pour identifier les année 2100 à venir! Débutant avec VBA, Je ne parviens pas à définir les limites. Pourriez-vous essayer de m'aider? Bien cordialement... |
| 30/11/2023 à 19:02 | Léo39 | Conversion petit code C vers VBA | Votre code semble être OK. Je n'ai pas su déclencher la condition pour 2100! Normalement si les 2 premières ne sont pas respectés, mais là ? Je regarde comment lntegrer votre code a ce que j'ai déjà fait... |
| 30/11/2023 à 11:20 | Léo39 | Conversion petit code C vers VBA | Merci pour votre aide. Effectivement ce code n'est pas de moi! L'intégrité du code C: Ce code est utilisé pour le vérification de la validité des dates contenue dans des codes-barres. Ces dates sont toujours sur 6 chiffres. Le format est YYMMDD donc les années "YY" toujours sur 2 caractères. La conv... |
| 29/11/2023 à 21:24 | Léo39 | Conversion petit code C vers VBA | Merci pour votre aide. Cela semble fonctionner ! Avec YY = 48 j'obtiens, YYYY = 2048 Avec YY = 52 j'obtiens, YYYY = 2052 Avec YY = 80 j'obtiens, YYYY = 1980 Comment savoir quelle année fait passer de 1900 à 2000 et à 2100? Comment pourrais-je vérifier des dates futures? Toutes explications sur le fo... |
| 29/11/2023 à 20:38 | Léo39 | Conversion petit code C vers VBA | Pourriez-vous m'aider pour la conversion de ce code C vers VBA? Si je ne fais pas d'erreur CURRENT_YEAR = Year(Now) en VBA Voici ce que j'ai essayé... |
| 23/11/2023 à 01:08 | Léo39 | Validité d'une date | J'ai exposé ce que je cherchais à faire Soit: En partant d'une date sur 6 chiffres "yymmdd" ou "aammjj". Vérifier la validité de la date en tenant compte des années bissextiles (février 28 jours tous les 4 ans) Faire une conversion vers le format "dd/mm/yyyy" ou "jj/mm/aaaa" J'ai donné des exemples... |
| 22/11/2023 à 20:38 | Léo39 | Validité d'une date | Merci pour vos efforts! Ci-dessous, quelque chose de plus proche de mes attentes. Je ne sais pas comment gérer " dt1904 = ThisWorkbook.Date1904" vu que je ne travaille pas depuis une feuille, mais depuis un TextBox! Pensez-vous que la gestion des années sur 2 chiffres "yy" et non pas 4 "yyyy" soit u... |
| 22/11/2023 à 19:34 | Léo39 | Moi c'est Léon, pseudonyme Léo39 | Je me prénomme Léon, Jurassien de 86 ans. Je me suis mi à Excel et surtout à VBA pour faire travailler mes neurones et Dieu sait qu'ils me jouent des tours ! Je vous remercie d'avance pour votre aide et votre compréhension... |
| 22/11/2023 à 19:18 | Léo39 | Validité d'une date | Désolé, mais ce n'est pas ce que je recherche. Je n'ai pas besoin de calendrier, j'ai besoin de vérifier si la date saisie dans le TextBox et une date valide et si non, savoir pourquoi. Si je saisi 231122 dans le TextBox => MsgBox 22/11/2023 est une date valide. Si je saisi 220229 dans le TextBox... |
| 22/11/2023 à 16:27 | Léo39 | Validité d'une date | Bonjour BrunoM45 et merci pour l'accueil. Je ne suis pas l'auteur de ce code, il vient d'ici: https://forum.excel-pratique.com/excel/verifier-la-validite-d-une-date-108238 C'est justement mon problème ces ComboBox me perturbe, je ne parviens pas à recréer le code qui pourrait s'appliquer à la saisi... |
| 22/11/2023 à 11:26 | Léo39 | Validité d'une date | Pourrais-je avoir de l'aide, pour modifier le code ci-dessous? J'aurais besoin que la validité de la date soit faite à partir de la saisi dans un TextBox. Le format de la date saisi: yymmdd Un MsgBox avec conversion de la date en dd/mm/yyyy + message dd/mm/yyyy: est une date valide Else dd/mm/yyyy:... |