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 :

30zoe55.xlsm (229.54 Ko)

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 (ça aurait été trop beau que ça tourne tout seul )

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

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 ).

Si c'est en VBA, donne-moi un exemple stp.

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... )) mais je travaillerai sur les conseils de Benead (le tuto est bien expliqué, je dois m'y coller ).

Merci pour toutes vos suggestions et votre aide précieuse.

Je vous souhaite un exellent weekend et une bonne semaine

Bien à vous

Zoé

Rechercher des sujets similaires à "ajouter ligne tableau feuille"