Macro pour modifier un champ spécifique

Fermé
Vaellia Messages postés 9 Date d'inscription mardi 12 mai 2015 Statut Membre Dernière intervention 15 mai 2015 - Modifié par Vaellia le 13/05/2015 à 01:43
Vaellia Messages postés 9 Date d'inscription mardi 12 mai 2015 Statut Membre Dernière intervention 15 mai 2015 - 15 mai 2015 à 13:02
Bonjour à tous !

Bon je m'explique car le titre de mon sujet n'est pas très évocateur, et comme des illustrations valent mieux qu'un long texte, voici 2 captures d'écran.

http://img15.hostingpics.net/pics/236371Sanstitre1.png
http://img15.hostingpics.net/pics/892699Sanstitre.png

J'aimerai créer un bouton qui copierai les information de la capture 1, trouverai, par rapport au nom (ici test4) la ligne dans le tableau de la capture 2, et colle les informations rentré au préalable dans la capture 1. (Ça servirai a modifier le profil d'un salarié)
La première capture serait l'interface sur laquelle l'utilisateur travaillerai et la capture 2 serai la base de donnée.
J'espère avoir été clair, c'est pas évident à expliquer ^^

Merci d'avance.
A voir également:

4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 14/05/2015 à 10:56
ci joint proposition
https://www.cjoint.com/?3EokxXjXjfF

Cendant il y a beaucoup d'erreurs de conception: du fait que l'on fait une recherche de modification sur l'identité, une orthographe à modifier sera considérée comme un nouvel embauché et la macro indiquera "inconnu"
il aurait fallu prendre comme point de recherche le matricule identifiant. de plus il est mal placé dans la liste et devrait être en colonne A (simplification notamment avec identités homonymes - il est interdit d'utiliser le N° insse comme identifiant). dommage car on aurait une base de données utile pour beaucoup d'utilisation: publipostage, paies , etc.

edit: il y a des macros dans le module "modification" et dans le mdul feuille "modifier_salarié" Michel
1
Vaellia Messages postés 9 Date d'inscription mardi 12 mai 2015 Statut Membre Dernière intervention 15 mai 2015
14 mai 2015 à 14:05
Bonjour, je suis impressionné par votre rapidité !

J'avais prévu le "défaut de conception" . C'est pour cela que quand je modifie un salarié, la macro copie le nom du salarié et le colle 2 fois dans l'onglet "modifier", une fois qui sera masqué dans une ligne et les rechercheV se feront a partir de lui, et une fois en dessous, là où il est écrit "Nom et Prénom" qui pourra être modifié en cas de mauvaise orthographe.

Pour le matricule, j'y ai pensé aussi mais je ne savais pas les conséquences, en matière de rechercheV : par exemple,dans une paie, je ferai une liste où l'utilisateur choisira le salarié, donc la colonne B, il me sera impossible dans ce cas de faire une rechercheV et d'afficher le matricule comme il sera en colonne A (Et si je dis pas de bêtises la rechercheV s'effectue que sur la droite)

Je vais étudier votre macro, je préférai vous répondre avant, merci beaucoup !
0
Vaellia Messages postés 9 Date d'inscription mardi 12 mai 2015 Statut Membre Dernière intervention 15 mai 2015
Modifié par Vaellia le 14/05/2015 à 14:29
Je viens de regarder tout ça de plus prêt. Ça à l'aire de très bien fonctionné ! Bien que je ne comprenne rien à vos macros. Vous avez pu constater que les autres macro son du type "débrouillardise" ^^

En revanche, pourriez vous m'expliquer l'utilité de la macro modifier ? Elle servirai a changer d'onglet ?

En tout cas encore merci pour tout le travail effectué !
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
14 mai 2015 à 15:02
la macro "modifier" envoie dans la liste des salariés toutes les données du formulaire, modifiées ou non
Mais tout se passe au départ dans le module feuille7
worksheet_change est une procédure événementielle qui se déclenche quand on valide une donnée dans une cellule (target) ici K17

ci dessous une autre version à mon avis plus simple à comprendre et tout aussi efficace
Sub Modifier()
Dim Cptr As Byte, Adresse As String
For Cptr = 1 To 15
Adresse = Choose(Cptr, "U17", "AA17", "K19", "K21", "Z19", "Z21", "K23", "O23", _
"Z23", "K25", "K27", "N27", "W27", "Z27", "K29")
With Sheets("Modifier_salarié")
.Range(Adresse) = Sheets("Liste_salariés").Cells(Lig, Cptr + 1)
End With
Next
End Sub

style "débroullardise"
on est tous passer par là! :o)
peut-^tre je modifierai "valider salarié" qui ressemblerait à la macro "modifier"


J'y vas car j'ai encore droit au number One du top 50 de la chorale occitane "Ch'uis pas mariée avec un ordinateur"
Pôvre de moi
0
Vaellia Messages postés 9 Date d'inscription mardi 12 mai 2015 Statut Membre Dernière intervention 15 mai 2015
14 mai 2015 à 18:06
Haha je vous remercie pour tout !

Je fais quelques modifications et je reviendrai vers vous si cela ne vous dérange pas avec une autre (petite) question.
0
Vaellia Messages postés 9 Date d'inscription mardi 12 mai 2015 Statut Membre Dernière intervention 15 mai 2015
Modifié par Vaellia le 14/05/2015 à 20:40
Voici donc ma question :
Est-ce qu'à partir de la macro ci dessous, on peut faire la même chose pour supprimer et ajouter un salarié ? Car si vous avez regarder mes macros, quand j'ajoute, je copie et colle chacune des donnée une par une, ce qui fait mouliner le PC alors que la votre fait tout instantanément !

Sub valider_modif()
Dim Agent As String, Cptr As Byte, Adresse As String
Agent = Sheets("Modifier_salarié").Range("K15")
'cherche l'agent dans la liste
With Sheets("liste_salariés")
Lig = .Columns("A").Find(Agent, .Range("A999")).Row
'inscrit les données
For Cptr = 1 To 16
Adresse = Choose(Cptr, "K17", "U17", "AA17", "K19", "K21", "Z19", "Z21", "K23", "O23", _
"Z23", "K25", "K27", "N27", "W27", "Z27", "K29")
.Cells(Lig, Cptr) = Sheets("Modifier_salarié").Range(Adresse)
Next
End With

NB : J'ai repris mon fichier excel avec vos macro en modifiant quelques trucs (non pas que les votres n'étaient pas bonne, je ne suis même pas compétant pour juger, mais si je devais les modifier à l'avenir, il fallait que je comprenne ^^)
https://www.cjoint.com/c/EEou16YJU4i
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
13 mai 2015 à 08:50
bonjour,
Les photos ne servent à rien puisqu'elle nous obligent à refaire manuellement le classeur pour proposer une solution!
donc merci de
Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le lien proposé dans le message de réponse
Dans l'attente


0
Vaellia Messages postés 9 Date d'inscription mardi 12 mai 2015 Statut Membre Dernière intervention 15 mai 2015
13 mai 2015 à 12:45
Bonjour Michel,

Tout d'abord merci de m'avoir répondu si rapidement.
Voici donc le lien : https://www.cjoint.com/c/EEnmYzioTUx
Les onglets concernés sont "modifier_salarié" et "liste_salarié".
Vous pouvez aussi consulter la macro "ajouter_salarié" pour voir comment je m'y suis pris pour ajouter un salarié à la base, vous comprendrez de cette façon ce que je veux faire exactement.

NB : Je suis au courant que ma rechercheV de l'onglet "modifier_salarié" débloque quand j'ajoute un salarié, ça sera modifié une fois ce "problème" résolu

Merci d'avance.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
13 mai 2015 à 14:41
impossible de passer d'une feuille à l'autre pour connaitre le fichier
0
Vaellia Messages postés 9 Date d'inscription mardi 12 mai 2015 Statut Membre Dernière intervention 15 mai 2015
13 mai 2015 à 14:59
Hum... Comment ça ?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
13 mai 2015 à 17:43
dans le bas de l'écran du classeur, je ne vois pas les onglets de feuille
0
Vaellia Messages postés 9 Date d'inscription mardi 12 mai 2015 Statut Membre Dernière intervention 15 mai 2015
13 mai 2015 à 18:00
Étrange, en téléchargeant le fichier que j'ai uploadé, j'arrive à naviguer pourtant.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
13 mai 2015 à 18:26
Ca y est j'ai retrouvé avec une manip (à force de télécharger les classeurs des uns et des autres...)
je m'y met demain à l'aube, enfin un peu plus tard.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
14 mai 2015 à 08:52
Bonjour,
c'est parti et déjà avancé : il y a pas mal de boulot donc patience!
0