Ajouter une ligne dans un tableau sur une autre feuille
Bonsoir Zoé et Psycho,
Bon Zoé, je t'ai fait comme convenu un exemple de ce que je ferai si j'étais à ta place, c'est à dire, un maximum de paramétrage pour éviter de mettre sans arrêt la main dans le camboui.
Je paramètre chaque controle et cellule. Idéalement il faudrait remplacer les cellules par des TextBox, cela éviterait de faire deux boucles consécutives, une pour balayer les champs nommés et une sur tous les objets de la feulle.
Les CheckBox ont leurs noms qui commencent toujours par "ChB" et à partir du 4ème caractère c'est le nom de l'entête de colonne de la feuille employé
Les OptionButtons ont leur noms qui commencent par "OpB" ensuite c'est le nom de l'entête de la colonne puis "_x" ou x représente le numéro de l'option. On récupère le nom de la colonne grâce à mid pour extraire le nom à partir du 4ème caractère et avec Split qui sépare le nom du numéro. Reviens vers moi si tu veux plus d'explication sur le sujet.
Pour que les OptionButtons puissent interéagir entre eux en uniquement entre eux, il faut qu'ils soient dans un même groupe (voir ler propriétés des contrôles) et que la valeur "caption" du contrôle soit la valeur que tu veux voir dans la colonne si l'option est sélectionnée (voir les deux ctrl Keyboard pour mieux comprendre)
L'avantage de cette méthode est que tu peux déplacer les colonnes de la feuille employé comme tu le souhaites, et pour ajouter une nouvelle colonne, il suffit de paramétrer le nouveau contrôle et de lui attribué le même nom en entête ce colonne.
Je te laisse regarder le fonctionnement plutôt que de faire de grand discours :
Je te donnerai plus d'explications et à ta demande ultérieurement.
A+
Benoîe Marchand
[Benead]
Bonjour Benead,
ben quand je lis ton code il est bien structuré et tout et tout. ..
Je n'ai pas de message d'erreur mais il ne copie pas les infos. Je pense que c'est peut-être dû à la version d'excel.
Je vais bien éplucher tout ça et créer des entêtes dans mes feuilles pour les exploiter plus facilement (cela dis, je n'aurais jamais trouvé toute seule
Je reviendrais vers toi pour des infos supplémentaires c'est certain.
Merci
Zoé
Bonsoir,
le programme copie les données de ton formulaire uniquement pour les premières colonnes, qui sont les seules à être paramétrées.
Attention, le programme contrôle si l'employé est déjà codifié dans la feuille "Employees". Si ia personne est déjà référencée, on fait une mise à jour de la ligne, sinon on la crée. Dans mon exemple, il faut supprimer la ligne 9 pour voir la création. La mise à jour se fait bien mais uniquement sur les colonnes paramétrées en ligne 1.
Tu pourras ensuite envisager de pouvoir faire des mises à jour des employées en rechargeant le formulaire à partir de la feuille Employees
Reviens vers nous, dès que tu as besoin de complément d'information.
A oui, la version d'Excel ne doit pas intervenir dans le code, je l'ai fait sous Excel 2007.
Bonjour Benead, bonjour psycho,
J'ai enfin un peu de temps pour me pencher sérieusement sur mon fichier excel.
Mon soucis Benead c'est que j'obtiens une erreur 424 'Object require' lors de l'exécusion de la macro. Y a-t-il un paramettrage particulier à faire?
La ligne de la macro pointée par cette erreur est la suivante: For Col = 1 To ShEmpl.UsedRange.Columns.Count
Autre question: le référenciel des colonnes utilisé est en numérique mais est-il possible de modifier le code de la macro pour qu'il travaille en alphabétique (question d'habitude bien sur
Merci pour ton retour là dessus Benead
Bien à toi
Zoé
Le problème cité plus haut est résolu une fois la case de déclarations des variables obligatoires cochée
Maintenant, j'ai un autre bug
là j'ai un "Compile error: variable not defined" sur ShEmpl
Je creuse et je vous tiens au courant ...
Zoé
Bonsoir Zoé et Psycho,
Zoé, ShEmpl est le CodeName de la feuille Employee. Je pense que tu as recopié le code sur ton classeur original et c'est pour cela que cela ne fonctionne pas. Il faut donc nomme la feuille "Employee" dans le projet VBE en CodeName "ShEmpl" (c'est une propriété de la feuille).
Tu trouveras un petit tuto que j'ai fait sur les nommage des feuilles ici : https://forum.excel-pratique.com/excel/activation-des-onglets-excel-via-formulaire-t38859.html#p218245
Si tu ne trouves pas, ce qui m'étonnerai, dis-le moi, je t'expliquerai plus en détail.
Que veux-tu dire par
Si c'est en VBA, donne-moi un exemple stp.Autre question: le référenciel des colonnes utilisé est en numérique mais est-il possible de modifier le code de la macro pour qu'il travaille en alphabétique (question d'habitude bien sur
).
As-tu bien compris le paramétrage entre les contrôles activeX et les entêtes de colonnes ?
Si tu as d'autres blocages ou questions, reviens vous voir.
Bonjour Benead, Psycho,
je continu de me pencher sur la chose à coté de mes obligations quotidiennes (pas simple les journées sont courtes
Je ne vous donnerai pas signe de vie la semaine prochaine (des congés bien mérités (je crois...
Merci pour toutes vos suggestions et votre aide précieuse.
Je vous souhaite un exellent weekend et une bonne semaine
Bien à vous
Zoé