Macros : ajout de données et tri automatique
Résolu
gck
-
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
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:
- Macros : ajout de données et tri automatique
- Macros word - Guide
- My macros - Télécharger - Organisation
- Ez macros - Télécharger - Divers Utilitaires
- Le classeur macros personnelles dans le dossier de démarrage doit être ouvert ✓ - Forum VB / VBA
- Activer les macros excel android ✓ - Forum Excel
7 réponses
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 :
Ensuite, faire apparaitre une boîte de dialogue pour "enregistrer" le NOM du nouveau collaborateur :
essaie déjà ceci et reviens pour d'autres questions et pour la suite...
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...
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 :)
sinon je suis toujours ouvert à toute suggestion :)
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...
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...
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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...
Sinon pour celles et ceux qui seraient intéressé(e)s, le lien plus haut reste valable...