Macros : ajout de données et tri automatique

Résolu
gck -  
 gck -
Bonjour,

je viens de créer un tableau excel sur lequel figure entre autre la liste des salariés de mon entreprise avec les informations les concernant. je dois, pour diverses raisons, faire en sorte que cette liste soit évolutive par le biais de deux boutons :

- un bouton "ajout collaborateur", lequel lorsque l'on clique dessus me demandera par l'apparition de boîtes de dialogue successives de lui fournir 1) le nom 2) la date de prise de fonction 3) la fonction occupée etc ... et insérera toutes ces informations dans le talbeau

- un bouton "suppression collaborateur" lequel lorsque l'on clique dessus me demandera de sélectionner parmi la liste des salariés lequel je dois supprimer et me demandera confirmation une nouvelle fois lors de la sélection de celui-ci.

pour être exigent jusqu'au bout, le fameux tableau contenant la liste des salariés devra se trier alphabétiquement parlant de manière automatique.

ça fait des années que je n'ai plus toucher de macro et j'ai beaucoup de mal à m'y remettre. pour l'instant j'ai juste réussi à créer les deux boutons mais je n'ai rien écris comme ligne de programmation pour les attacher à ces fameux boutons. si l'un d'entre vous aurait la gentillesse de m'aider, ça serait encore plus sympa de m'expliquer pourquoi on emploie telle ou telle ligne de programmation afin que je comprenne ce que je fais au lieu de recopier bêtement des lignes de code. le but étant évidemment de pouvoir réitérer des opérations similaires sur de futurs tableaux.

d'avance merci et bonne journée à tous
Configuration: Windows XP Internet Explorer 8.0

7 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Salut,
    Le plus simple, à mon avis, serait de créer un UserForm. Si tu n'as pas les connaissances pour faire cela, on peux te bricoler un exemple, mais cela ne t'apprendra rien... Je t'en ferais un tout à l'heure juste au cas ou...

    Bouton "ajouter" :
    1er problème : se placer dans la première ligne vide :
    en supposant que les NOMS soient en colonne A :

    Dim lignvide as Integer
    lignvide = Range("A65536").End(xlUp).Offset(1, 0).Row


    Ensuite, faire apparaitre une boîte de dialogue pour "enregistrer" le NOM du nouveau collaborateur :

    Dim result As String
    result = InputBox("Saisir le NOM", "NOM nouveau collaborateur") 'Inputbox étant la boite de dialogue, "saisir le nom : le texte contenu dans cette bdd et NOM nouveau... : son titre
    Cells(lignvide, 1) = UCase(result) 'UCase renvoie le contenu (result) en Majuscules


    essaie déjà ceci et reviens pour d'autres questions et pour la suite...
    0
  2. gck
     
    Salut et merci de ta réponse pour commencer. je vais voir ce que ça donne avec ton "bricolage" ;) et on va voir ce que ça donne. alors bon c'est sûr, vu comme ça, ça m'apprendra pas grand chose peut-être mais ça sera déjà mieux que rien !

    sinon je suis toujours ouvert à toute suggestion :)
    0
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Salut,
    Voici un exemple de ce que l'on peux faire avec un Userform : ici
    Essaye, si cela te va on peux le modifier ad libitum...
    0
  4. gck
     
    problème (évidemment, ça serait trop facile sinon) : au boulot je n'ai accès qu'aux sites officiels (type .gouv) et une poignée de sites triés sur le volet (je suis d'ailleurs surpris d'avior accès à commentcamarche.net) donc je ne peux ouvrir ton lien.

    ma macro se présente de cette façon :

    Sub nvcollabo()

    '
    ' nvcollabo Macro
    ' Rajout des informations concernant un nouveau collaborateur
    '

    '
    UserForm1.Show
    End Sub


    et le code du userform1.Show de la manière suivante :

    Private Sub UserForm_Click()
    Dim lignvide As Integer
    lignvide = Range("A65536").End(xlUp).Offset(1, 0).Row

    Dim result As String
    result = InputBox

    Cells(lignvide, 1) = UCase(result)
    End Sub


    au final, ça n'amène rien de plus que ce que j'avais déjà fait à savoir :

    un bouton "ajout d'un nouveau collaborateur" qui me demande de saisir le nom et le prénom quand je clique mais qui ne permet pas de valider (pas de bouton OK et pas de fonction validation en appuyant sur entrée). Evidemment il y'a encore moins une 2ème boîte de dialogue qui apparaît ni les données qui sont rentrées dans mon tableau.

    à titre indicatif mon tableau se situe sur une feuille appelée "ID" et comporte comme colonne (dont on doit saisir les informations) :

    en A : Nom Prénom
    en B : Poste
    en C : Date d'arrivée dans l'entreprise
    en F : Date de prise de fonction (qui correspond à la date d'arrivée dans l'entreprise donc)
    en I : Responsable (on doit indiquer oui ou non)

    encore merci pour le coup de main
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Alors, comme ton boulot restreint tes possibilités et que tu en as besoin pour le boulot, je te propose de m'envoyer un mail sur mon adresse perso (tu la trouveras en "fouinant" dans mon profil - pour cela clique sur mon pseudo au dessus d'un message) et je t'enverrais mon fichier exemple par e-mail. Ca te va?

    Sinon pour celles et ceux qui seraient intéressé(e)s, le lien plus haut reste valable...
    0
  7. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Je t'ai envoyé un mail et ai demandé la suppression de tes deux derniers messages, ceux ci contenant tes adresses mail...
    0
  8. gck
     
    ok merci bien je vais voir ça et et répondrai après la pause :p
    0