Mon premier UserForm

désolé, ce message est erroné.

désolé, ce message est erroné.

Bon, je pense rester sur le code de rhodo, que j’arrive a peu près à comprendre avec mes faibles connaissances VBA

1 « J'aime »

E815:E816, les 2 formules qu’on peut utiliser pour calculer le suivant jour ouvrable avec des jours fériés. En VBA, j’ai utilisé l’equivalent

WorksheetFunction.WorkDay_Intl(Jour, 1, , Range("Fériés")

La macro « UserForm_Initialize » remplit les 4 textboxes au début, mais si vous ne voulez pas cela, supprimez cette macro.

Je suppose qu’il n’y a pas des problèmes avec la première moitié de la macro « ToggleButton1_Click ».Puis dès qu’on utilise un tableau structuré, cela veut dire « structuré »

  • on évite des lignes vides
  • on applique une formule sur une colonne intégrale du TS, donc on ne mélange pas une formule avec des données fixes ou plusieurs formules

Quand je vois votre TS, pour la colonne E, E2 est une date fixe, mais il y a plusieurs comme ça (E219, …) et les restes sont des formules. C’est un goût personnel, mais je préfère de remplacer toutes ces formules par ses valeurs, parce qu’un jour vous vous trompez et vous supprimez quelque part une ligne et le reste est décalé. C’est pourquoi, dans ma macro, la date est une valeur fixe au lieu d’une formule.
Puis, j’ai supprimé toutes ces lignes vides et inutiles et puis c’est vraiment facile d’ajouter des nouvelles données. On dit simplement « ajoute une ligne » et puis on remplit cette ligne, aucun besoin de faire un loop pour chercher une cellule vide ou …
Le TS est vide quand il contient aucune ligne, donc « listrows.count=0 ». C’est le seul cas où on utilise « Insertrowrange » pour créer la première ligne. Dans les autres cas, on utilise « Listrows.add » pour ajouter une nouvelle ligne en dessous du tableau, mais si vous voulez insérer une ligne quelque part, vous utilisez « Listrows.add (x) » avec x par exemple =1 quand on veut insérer la nouvelle ligne au début du TS.
Quand vous ajoutez une nouvelle ligne, le TS s’occupe d’ajouter les formules et les formats nécessaires (à condition que c’est bien « structuré »), donc vraiment facile, il ne faut plus programmer.

J’ai ajouté des commentaires dans la macro pour que vous la comprenez mieux. Un TS, cela vaut vraiment un effort mais vous méritez cela plus tard.
Exercice pratique 1 (1).xlsm (600,1 Ko)

Hello Cow18,
ces premières lignes datent d’une époque où, je ne maitrisais pas encore les formules Excel, et/ou les dates ne tenaient pas compte ni des WE ni des jours fériés.
Je vais me repencher sur ton code pour essayer d’en comprendre le fonctionnement :thinking:

1 « J'aime »

2 liens pour ces formules avec les dates

1 « J'aime »

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.