Macros : ajout de données et tri automatique

Résolu/Fermé
gck - 15 févr. 2010 à 10:57
 gck - 16 févr. 2010 à 11:38
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
A voir également:

7 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 759
15 févr. 2010 à 12:15
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
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
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 759
16 févr. 2010 à 09:24
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 759
16 févr. 2010 à 09:54
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
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 759
16 févr. 2010 à 11:26
Je t'ai envoyé un mail et ai demandé la suppression de tes deux derniers messages, ceux ci contenant tes adresses mail...
0
ok merci bien je vais voir ça et et répondrai après la pause :p
0