XL 2010 afficher dans formulaire valeur provenant d'une autre feuille

statistiques64

XLDnaute Junior
Bonjour à tous,
j'ai une feuille principale planning avec un formulaire pour mettre les nouvelles tâches des personnes à effectuer. dans ce formulaire, quand je sélectionne une tâche, j'aimerais que cela m'affiche en dessous la valeur du niveau de la personne sur cette tâche. je n'y suis pas arrivée, j'ai juste trouvé ici comment afficher par rapport à ma feuille tâche, mais moi je veux par rapport à mes deux feuilles compétences.
Je joins le fichier.
En vous remerciant,
 

Pièces jointes

  • Test_en_cours_combobox.xlsm
    160.6 KB · Affichages: 53

Dranreb

XLDnaute Barbatruc
Ce sont les autre projets VBA qu'il faut examiner. Si le CLsCAs n'y est pas et si vous n'avez pas non plus le complément "CBx liées et Ctl associés", ouvrez à nouveau le CBxLCtlA.xlsm de la ressource. Il déroule à son ouverture un code où il demande la permission de s'installer en tant que .xlam dans votre dossier de compléments.
 

statistiques64

XLDnaute Junior
alors j'ai retéléchargé en complément, dans références vba j'ai coché CLsCAs (il apparraît 3 fois donc j'ai coché 3fois) j'en ai pas vu d'autres dans références liés?

après je suis allée dans VBAProject cliquer sur un des CLsCAs, j'ai rentré votre mdp, j'ai d'abord fait exécuter l'aide, j'ai ensuite voulu exporter vos modules mais erreur 1004
mais sur un de mes fichiers, si je clique dans références, il apparaît rattaché à son project avec Référence à CBxLCtlA
par contre si je cherche dans Compléments Excel j'ai rien
et je ne vois pas trace de "CBx liées et Ctl associés"
 

Dranreb

XLDnaute Barbatruc
Il n'y a pas à entrer dans le code du CLsCAs, ni exporter quoi que ce soit, à moins que vous ne teniez absolument à ce que tous ses modules de service soient implantés à demeure dans le VBAProject du classeur utilisateur. Ça représente un module standard et 12 modules de classe. Ça ne se justifierait que si le classeur avait des homologues sur plusieurs dossiers d'un réseau local, lequel serai dépourvu d'un chemin commun à tous réservé aux fournitures de service. Mais pour l'utiliser dans un contexte ordinaire, il n'y a juste qu'à y cocher une seule fois sa référence, menu Outils, Références…
je ne vois pas trace de "CBx liées et Ctl associés"
C'est soit que vous n'avez pas autorisé sa procédure d'installation à se dérouler jusqu'au bout, soit que vous lui avez demandé de s'installer ailleurs que dans votre dossier de compléments.
Attention: le nom du projet VBA du classeur précurseur est forcément aussi CLsCAs. Ce n'est pas celui ci qu'il faut mettre en référence, c'est celui qui résulte de sa conversion en classeur de macros par sa procédure d'installation, laquelle s'exécute automatiquement quand on l'ouvre.
Ça commence par :
  Ce classeur n'est pas dans l'état définitif propre à son utilisation.
  Son enregistrement dans votre dossier de compléments va vous être proposé.
  Voulez vous d'abord une copie de sa feuille d'aide ?
et ça doit se terminer par :
  Installation terminée avec succès.
  Dans votre application VBA vous pouvez à présent
  cocher "CLsCAs", menu Outils, Références…
Il est recommandé de le faire tout de suite, surtout si vous avez changé le dossier donné par Application.UserLibraryPath avant de cliquer sur le bouton Enregistrer. Si vous ne le faites pas, il ne sera plus ouvert dans une session Excel ultérieure. Vous devrez alors l'ouvrir manuellement, ce qui a un coté un peu frustrant dans la mesure où la fenêtre d'un .xlam n'est jamais affichée, de sorte qu'on ne voit en rien qu'il a été ouvert. Mais si c'est bien dans ce dossier de compléments qu'il a été installé, sa description "CBx liées et Ctl associés" est forcément proposée dans les compléments Excel, et la cocher l'ouvre.
Information: Un double clic sur la cellule A1 (marquée "Installation") de la feuille d'aide du classeur précurseur permet de redémarrer l'installation.
 
Dernière édition:

statistiques64

XLDnaute Junior
Bonjour,
alors j'ai recommencé j'ai de coché direct MANQUANT : CBxLCtlam.xlam, je coche ensuite CLsCAs (qui se décoche parfois)
et j'ai coché dans complément excel CBx liées et Ctl associés
malheureusement cela ne change rien aux erreurs (erreur de compilation si je clique sur le formulaire) ex: CAsAgt As ControlsAssociés
je ne vois pas non plus dans le fichier les boutons UFmCalenS et UFmMàJNiv
si je clique sur le bouton feuille compétences j'ai direct une erreur de compilation DicMat As Dictionary si je clique ça m'ouvre référence je remets coché CLsCAs, et rebelote la même erreur au même endroit
pareil avec l'erreur Format du début
merci
 

Dranreb

XLDnaute Barbatruc
Joignez le classeur car là je ne vois pas. Qu'avez vous exactement de coché dans les références ?
Dans les compléments excel "CBx liées et Ctl associés" doit être coché en premier pour être sûr d'avoir son projet VBA CLsCAs ouvert dans la liste des projet de l'explorateur de projets VBE, et il ne doit pas y en avoir d'autres qui portent aussi ce nom. Une fois qu'il est mis en référence le classeur peut être sauvegardé, et le complément Excel décoché. Le CBxLCtlA.xlam sera automatiquement ouvert quand on ouvrira le classeur.
Le Dictionary c'est la bibliothèque Scripting qui le définit, référence "Microsoft Scripting Runtime", fichier scrrun.dll. Mais je suis sûr de l'avoir cochée dans le classeur que j'avais joint.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
Je ne sais pas ce que vous trafiquez. Chez moi tout ça marche très bien.
Peut être n'arrivez vous pas à vous débarrasser d'une référence à CBxLCtlA.xlsm au lieu de CBxLCtlA.xlam ? Parce qu'évidemment une fois mise à tort la référence au CLsCAs du classeur précurseur, celui-ci aussi, comme ce serait le cas du classeur de macros, est ouvert à chaque ouverture du classeur utilisateur !
Alors vous avez beau la décocher d'abord, vous recochez chaque fois la mauvaise !
Il faut la décocher, fermer le classeur précurseur, puis cochez le seul CLsCAs qui doit rester dans les références disponibles: celui du projet CLsCAs du CBxLCtlA.xlam
Avant de faire tout ça sur le VBAProject du classeur utilisateur, cela va de soit, vérifiez dans l'explorateur de projets que vous avez bien parmi les autre projet ouverts le
CLsCAs (CBxLCtlA.xlam). Si ce n'est pas le cas cochez d'abord le complément disponible "CBx liées et Ctl associés" du coté Excel. Normalement dans votre VBAProject il ne doit plus y avoir de référence portée MANQUANT et plus d'erreur de compilation "Type défini par l'utilisateur non défini"
 

statistiques64

XLDnaute Junior
Bonjour,
oui j'ai fait tout ça, bon je sais pas trop, là ça marche d'un coup je peux exécuter avec les boutons, du coup :
- si je veux affecter une tâche cela ne me propose plus l'année et je ne peux pas la rentrer donc cela me met erreur 9 : l'indice n'appartient pas à la sélection
- concernant les compétences pour la mise à jour des employés je ne pas sûre d'avoir bien compris le fonctionnement : je voulais juste par exemple pour Romane1 pour la tâche ordo4 passer de 0 à 3 mais je ne sais pas ce qui s'est passé dans votre tableau cela met pour matricule tous, et si je reviens dans le formulaire pour affecter une tâche si je sélectionne Romane1 ou autre de la même entité cela me propose toute tâche avec 0
- de même si je mets à jour une tâche pour un employé, cela ne met pas à jour dans les feuilles Competences_transports et Competences_labo directement?
merci
 

Pièces jointes

  • Temps_corriger.xlsm
    211.9 KB · Affichages: 5

statistiques64

XLDnaute Junior
à quoi elle sert l'année????? c'est un planning pour plusieurs années (normalement)
tout sera exprimé dans la feuille compétences??? il y a déjà toutes les compétences de maintenant des agents, je ne peux pas les enlever et je ne peux pas ressaisir un par un pour chacun
 

Dranreb

XLDnaute Barbatruc
L'absence de ce champs année n'empêcherait pas de saisir dans le calendrier des dates de n'importe quelle année. Maintenant c'est peut être une indication de ce à quoi elle sert. On pourrait faire en sorte que le calendrier propose un autre date que celle du jour.
Je peux écrire une procédure qui récupère les tableaux existants, si vous voulez.
 

statistiques64

XLDnaute Junior
mais là actuellement si je n'ai pas l'année je ne peux pas cliquer sur créer dans le formulaire cela ne le prend pas
c'est un planning quotidien, donc là on est en 2020, mais quand on sera en 2021 il faudra bien que cela marche
mais il propose déjà une autre date que celle d'aujourd'hui? 🧐
après oui j'aurais aimé gardé ce qui a été effectué les semaines précédentes mais ça je l'ai dans l'onglet affectations
 

Dranreb

XLDnaute Barbatruc
On dirait qu'il y a une erreur dans la Sub Cmd_Valider_Click()
ReDim TVL(1 To 1, 1 To 5) au lieu de ReDim TVL(1 To 1, 1 To 6) alors que dans la Sub ValeursVersTVL qui suit j'affecte la deuxième date à TVL(1, 6). Je corrige ça.
 
Dernière édition:

statistiques64

XLDnaute Junior
Re,
merci
alors si je cherche à modifier une compétence cela marche bien
en revanche si je veux affecter une tâche j'ai erreur d'exécution incompatibilité type
il y a un problème dans worksheet_activate avec
VB:
   If Year(Me.Range("dates_planning").Columns(1)) = [année].Value Then
dès que je vais sur la feuille planning en fait aussi
si je veux utiliser les boutons pour changer de semaine aussi erreur 424 objet requis
ça commence mardi au lieu de lundi aussi
 

Discussions similaires

Statistiques des forums

Discussions
312 485
Messages
2 088 815
Membres
103 971
dernier inscrit
abdazee