Macro pour modifier un champ spécifique

Vaellia Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
Vaellia Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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   Statut Membre Dernière intervention  
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
impossible de passer d'une feuille à l'autre pour connaitre le fichier
0
Vaellia Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Hum... Comment ça ?
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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   Statut Membre Dernière intervention  
 
Étrange, en téléchargeant le fichier que j'ai uploadé, j'arrive à naviguer pourtant.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,
c'est parti et déjà avancé : il y a pas mal de boulot donc patience!
0