Développement d'un userform

Bonsoir à tous,

je viens vers vous dans l'espoir que vous puissiez m'apporter votre aide.

Je suis complètement débutant concernant Excel/VBA et en suivant la petite formation disponible sur ce site j'ai réussi à réaliser un début de tableau.

J'aimerai le partager avec vous afin que vous puissiez m'apporter votre aide. Il pourrait vous servir ou vous donner des idées de planning.

Voici les quelques points sur lesquels j'ai besoin de vos connaissances beaucoup plus importantes que les miennes sur le codage VBA:

- j'aimerai que, selon les informations choisies, celles-ci s'affiche sur mon tableau;

- que selon la catégorie choisie au niveau 'catégorie', la liste correspondante s'affiche;

- s'il est possible également, que lorsque je l'on rentre une nouvelle obligation, la date du jour d'entrée s'affiche automatiquement sur mon tableau;

- afin de gagner du temps, d'avoir une possibilité sur le userform de choisir pour un collaborateur donné, plusieurs dossiers ou tous pour une même catégorie (et non qu'un seul pour le moment) et même obligation avec la même date d'échéance; ceci avec autant de ligne à ajouter sur le tableau que de dossier choisis;

- au niveau des notes, que lorsqu'une note est ajoutée sur le userform, je puisse la voir sur mon tableau en cliquant sur la ligne correspondante;

- au niveau de la date d'échéance, que le format soit obligatoirement un format JJ/MM/AAAA;

- que lors de l'ajout de chaque obligation, sur la ma case 'Fait', une case à cocher s'affiche automatiquement que je puisse cocher lorsque l'obligation est faite.

J'imagine que cela est peut être un peu beaucoup demandé,

Merci pour chacun d'entre vous d'avance pour chacune de vos réponses,

Bien cordialement

38creation-2.xlsm (35.44 Ko)

Bonjour jj93,

Pour un débutant c'est déjà pas mal car moi aussi je le suis.

Pour ajouter une nouvelle ligne dans ta feuill1 ajoute le code suivant que j'ai rédigé rapidement... donc à paramétrer pour la suite.

La première cellule colonne "Date d'entrée" doit être renseignée pour pouvoir ajouter de nouvelle ligne.

Pour l'instant je t'ai mis une croix par défaut mais cela peut être la valeur d'une TextBox ou Combobox.

Ajoutes le code suivant à ton bouton "CommandButton_Ajouter"

Private Sub CommandButton_Ajouter_Click()
Dim L As Integer

If MsgBox("Etes-vous certain de vouloir INSERER ce nouveau contact ?", vbYesNo, "Demande de confirmation") = vbYes Then
L = Sheets("Feuil1").Range("a65536").End(xlUp).Row + 1 'Permet de se positionner sur la dernière ligne de tableau NON VIDE

Range("A" & L).Value = "X" 'Insère un texte ou la valeur d'une textbox ou etc.
Range("B" & L).Value = ComboBox_dossier 'Insère la donnée de la combobox dans la colonne B
'et à suivre....
Range("C" & L).Value = ComboBox_categorie
'Range("D" & L).Value = TextBox3
'Range("E" & L).Value = TextBox4
Range("F" & L).Value = ComboBox_collaborateur
Range("G" & L).Value = TextBox_dateecheance

End If
MsgBox ("Nouveau contact inséré") 'Vous informe que le présent contact est insérer dans votre tableau Excel.

'Unload Me 'Ferme le formulaire

End Sub

Pour la date du jour dans la colonne "Date d'entrée" modifie mon code à la ligne "Range("A"..etc par ce code

Range("A" & L).Value = DateValue(Now)

Complément :

Date de saisie paramétrée dans textBox "Date d'échéance" sous la forme **/**/*** avec le code suivant :

Private Sub TextBox_dateecheance_Change()
'exemple pour format xx/xx/xxxx
Dim Valeur As Byte
TextBox_dateecheance.MaxLength = 10 'nb caracteres maxi dans textbox

Valeur = Len(TextBox_dateecheance)
If Valeur = 2 Or Valeur = 5 Then TextBox_dateecheance = TextBox_dateecheance & "/"

End Sub

J'attends ton retour pour avancer éventuellement sur le sujet.....

29creation-2-1.xlsm (71.56 Ko)

Et1000lio, merci beaucoup! Etant en cours toute la journée j'ai pu voir tes réponses sur mon smartphone !!!

Je viens de tester c'est super ! J'ai pu cependant noter un petit bug au niveau du message "Etes-vous certain de vouloir inserer...": que je mette Oui ou Non le message de confirmation "Contact ajouter" s'affiche tout de même.

Mais sinon, nous avons pu bien avancer !! j'envoi le fichier en pièce-jointe avec une ou deux corrections et merci à tout les personnes qui pourront m'aider sur l'avancer de ce projet.

Le fichier reste en libre service,

Bien cordialement et merci encore !

Bonsoir jj93

Oups ! je n'avais pas mise le MsgBox au bon endroit....Ci-joint fichier corrigé. Le texte de la MsgBox peut être changé j'y ai mis une phrase lambda.....

Au sujet de la "case à cocher" je l'ai vu sur le net...mais un peu compliqué mais peut être faisable. A l'occasion j'y réfléchis pour insérer un checkbox dans une cellule sur le fichier excel... Si quelqu'un a la solution ?

Par contre quel en sera l'utilité par la suite ?

Question TextBox_note : A quoi sert cette textbox ?

D'autres questions ?

Bonsoir Et1000lio et merci pour ta réactivité!

Ce tableau servira en fait de tableau commun pour un groupe de travail avec un chef de mission et des collaborateurs.

Tout simplement, le chef ou le collaborateur rentrera ses obligations concernant les dossiers traités (j'ai mis quelques exemples). Des feuilles seront ajouter pour permettre au collaborateur de visualiser les obligations le concernant avec les dates d'échéances à ne pas dépasser (ceci un trie des données et un report de cellules).

Une fois que l'obligation sera faite, le collaborateur cochera la case pour le dossier et l'obligation correspondante.

Ainsi, le chef ainsi que le boss pourront connaitre l'avancer des dossiers et les obligations non faites, les urgences (grâce aux échéances à respecter).

Concernant la textbox_note, elle servirait aux éventuelles notes du chef de mission ou rappels spécifiques pour le dossier donné pour l'obligation donnée mise par le collaborateur pour lui-même, comme un mémo

JJ93,

Avec la TextBox_note, j'ajoute un commentaire sur la cellule située en colonne A

Complément du code :

 Range("i" & L).Value = TextBox_note 'insert le texte dans la colonne i
    ' insère un commentaire en colonne A avec les informations de la colonne i
    With Range("A" & L)
    .ClearComments
    .AddComment
    .Comment.Text Text:="" & Range("i" & L).Value
   End With

Salut à tous!

J'ai bien vus le détail du commentaire Et1000lio, c'est top ! Penses-tu qu'il y aurait un moyen de mettre la note sur la textebox??

Merci d'avance

Rechercher des sujets similaires à "developpement userform"