Ouvrir TextBox à la sélection d'une cellule

Résolu/Fermé
Nai Messages postés 711 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 août 2023 - 28 août 2016 à 18:11
Nai Messages postés 711 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 août 2023 - 4 sept. 2016 à 22:36
Bonjour,
Ce sujet suit le précédent et tente d'apporter une solution : https://forums.commentcamarche.net/forum/affich-33841403-completer-liste-depuis-fichier-source

J'ai opté, dans un premier temps, pour la solution barbare (copier le TextBox et ListBox 32 fois). C'est pas top, mais ça fonctionne (même si ça ne me convient pas...).

Ce qui serait top, ce serait que le TextBox s'affiche à la sélection de la cellule. Peut-être même dans un UserForm ? Ca peut permettre éventuellement d'utiliser la position de la cellule sélectionnée pour remplir le formulaire.

Base de données : https://www.cjoint.com/c/FHxr35ome0b
Fichier à compléter : https://www.cjoint.com/c/FHCqgrkAeBC

Exemple : Clic sur le + de la cellule Q17 -> Affichage du TextBox1 (éventuellement dans un UserForm) et au moment du clic sur l'enfant, déterminer la position où insérer les informations par rapport à la sélection dans la ListBox1 (ex: 7 colonnes à gauche de la sélection).

Merci d'avance de votre aide ! :)


A voir également:

5 réponses

thev Messages postés 1852 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 23 avril 2024 681
29 août 2016 à 20:59
Bonsoir,

ci_jointe proposition d'amélioration


https://www.cjoint.com/c/FHDs5URbcHu
0
Nai Messages postés 711 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 août 2023 54
30 août 2016 à 23:59
Super !
Le débogueur hurle sur :
For cptr = 1 To UBound(sources, 1)

Sur mes versions précédentes également d'ailleurs :/

J'ai fait quelques modifications, notamment la position des "boutons". Et j'ai du rater quelque chose, le débogueur n'est pas content.
Set ligne = .Columns(1).Find("*", SearchOrder:=xlRows, SearchDirection:=xlPrevious).Offset(1).Resize(, .Columns.Count)

Je n'y vois pourtant aucune référence aux positions que j'ai modifié.

Aussi, j'ai un peu cherché à "protéger la feuille". En vain. Je ne sais pas bien où placer l'ordre de retirer la protection.

https://www.cjoint.com/c/FHEvGzcUQ0f

Est-ce qu'il y aurait la possibilité de supprimer plusieurs enfants en même temps ? Au pire, vider un tableau peut convenir.

Merci de votre aide :)
0
thev Messages postés 1852 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 23 avril 2024 681
Modifié par thev le 31/08/2016 à 22:55
Bonsoir,

Point1
Le problème est relatif à la conservation du contenu de la variable source. Cette variable a maintenant une portée relative à l'ensemble du code de la feuille "Tableau baignade" mais son contenu peut s'effacer dans le cadre du débogage.

Point2
Bug lorsque le tableau est entièrement vide. Correction apportée

Point3
Possibilité offerte de suppression multiple sous réserve de sélection d'une seule plage.

ci-dessous nouvelle version
https://www.cjoint.com/c/FHFu3l0aIus

 
0
Nai Messages postés 711 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 août 2023 54
1 sept. 2016 à 13:15
Bonjour et merci !
J'ai toujours quelques soucis avec le point 1. Je n'ai pas bien compris les raisons de cette erreur. J'ai compris que lorsque le débogueur se lance, le contenu jusque là conservé ne l'est plus. Comment palier ce problème ? (Recharger la base de données ?).
Merci pour le point 3, c'est super !
J'ai un soucis, qui concerne peut-être le point 2.
Je ne parviens pas à supprimer des enfants du tableau 2 et lorsque j'ajoute des enfants au tableau 4, j'ai une erreur (qui concerne, vraisemblablement, la formule de calcul de l'âge des enfants).

Merci encore de l'aide ! :)
0
thev Messages postés 1852 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 23 avril 2024 681
Modifié par thev le 1/09/2016 à 13:55
Bonjour,

Pour ce qui concerne les tableaux 2, 3 et 4, le souci est que les cellules sont verrouillées.

ci_jointe version corrigée
https://www.cjoint.com/c/FIblN7GXbls

Point1
Il n'y a pas de souci tant que le mode débogueur n'est pas activé. Si dans ce mode, le contenu de "sources" est effacé, je pense que le plus simple est de relancer la procédure Workbook_Open.

 
0
Nai Messages postés 711 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 août 2023 54
1 sept. 2016 à 21:25
Magnifique ! Une "actualisation" et problème réglé.
Le mieux c'est de ne pas déclencher le débogueur.
Une petite personnalisation des messages et le tour sera joué ^^
Restera plus qu'à l'intégrer au fichier principal !

Merci infiniment !
0
Nai Messages postés 711 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 août 2023 54
3 sept. 2016 à 00:59
Bonsoir Thev et la communauté !

L'intégration.... Ah l'intégration...

Étant donné que dans le fichier original j'avais déjà une "mise de côté" des données de la base de données, mais que ça ne concernait pas les mêmes colonnes, j'ai copié et adapté le code. Mais j'ai deux problèmes :
- Un problème de liaison (je n'ai pas trouvé où elles sont...)
- Un problème avec les tableaux (probablement dans la définition de ceux-ci, mais je n'ai pas trouvé).

Merci d'avance de votre aide !

Fichier où intégrer le tableau de baignade : https://www.cjoint.com/c/FIcw1ZO5Piv
Base de données : https://www.cjoint.com/c/FIcw2WwQnhv
0
thev Messages postés 1852 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 23 avril 2024 681 > Nai Messages postés 711 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 août 2023
3 sept. 2016 à 15:48
0
thev Messages postés 1852 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 23 avril 2024 681
3 sept. 2016 à 20:38
Bonsoir,

Ne pas tenir compte du lien précédent

1- liaison
menu données --> modifier les liens --> modifier la source : remplacer le fichier Tableau baignade.xlsm par le fichier ouvert
action faite.

2- feuille de présence
La variable "sources" n'a pas de portée pour la feuille de présence. Il faut donc en déclarer une au niveau de cette feuille et l'alimenter à l'ouverture du classeur.
action faite.

3- Tableau baignade
référencer les 4 tableaux via
menu formules --> gestionnaire de noms
action faite.

ci-jointe version modifiée
https://www.cjoint.com/c/FIdsD7aWQam
 
0
Nai Messages postés 711 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 août 2023 54
4 sept. 2016 à 15:28
Bonjour et merci !
J'avais adapté le précédent fichier, mais bon, ce ne devait être que du bidouillage ^^
J'avais besoin d'ajouter un fichier prévisionnel. Un "double" de la feuille de présence.
Voici le précédent fichier avec mes ajouts et modifications : https://www.cjoint.com/c/FIenxH2eejq
Peut-être ai-je réussi à corriger les erreurs que tu mentionnes, peux-tu y jeter un œil pour voir si j'ai fait du "bon" travail ? :p
Pour ce dernier fichier, j'ai un problème avec la colonne D de la feuille de présence. Il ne me prend pas en compte le régime des enfants :/
Merci encore pour ta patience et ton travail !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
thev Messages postés 1852 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 23 avril 2024 681
4 sept. 2016 à 22:23
Bonsoir,

Tout me parait correct.
Sur les feuilles "Réel" et "Prévisionnel", le régime des enfants est bien pris en compte.
0
Nai Messages postés 711 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 25 août 2023 54
4 sept. 2016 à 22:36
Oui ! ^^
Merci encore tout plein !
0