Mettre un texte par défaut dans une zone de texte contrôle ActiveX
Isa38600
-
isa38600 Messages postés 38 Date d'inscription Statut Membre Dernière intervention -
isa38600 Messages postés 38 Date d'inscription Statut Membre Dernière intervention -
Bonjour à toutes et à tous,
Je crée un formulaire pour le boulot, mais étant novice en la matière, je n'ai pas encore trouvé comment mettre un petit texte par défaut pour inciter les utilisateurs à cliquer dans le champs pour entrer l'information demandée.
Exemple: "Cliquez ici pour renseigner votre nom"
Et évidemment, l'idéal serait que ce texte disparaisse lorsque l’utilisateur clique afin qu'il puisse écrire ce qu'il veut sans avoir à effacer mon texte au préalable.
J'ai cherché de partout je n'ai rien trouvé à ce sujet, j'en arrive même à me demander si c'est faisable en ActiveX...
Petite précision, je sais que certains d'entre vous vont se précipiter pour me suggérer d'utiliser plutôt les outils hérités qui offrent cette possibilité, mais pour un soucis de visuel et de facilité de mise en page, j'ai opté pour la version ActiveX qui semble mieux correspondre à ce que je cherche à faire.
J'aimerais vraiment trouver cette solution là avant de me résoudre à utiliser un autre moyen (d'autant plus que je viens de découvrir l’existence du monde merveilleux du codage VBA, et même si je n'y comprends pas grand chose pour l'instant, j'aimerais bien à terme me pencher dessus!)
Merci d'avance aux âmes charitables qui voudront bien m'apporter leur aide.
Je crée un formulaire pour le boulot, mais étant novice en la matière, je n'ai pas encore trouvé comment mettre un petit texte par défaut pour inciter les utilisateurs à cliquer dans le champs pour entrer l'information demandée.
Exemple: "Cliquez ici pour renseigner votre nom"
Et évidemment, l'idéal serait que ce texte disparaisse lorsque l’utilisateur clique afin qu'il puisse écrire ce qu'il veut sans avoir à effacer mon texte au préalable.
J'ai cherché de partout je n'ai rien trouvé à ce sujet, j'en arrive même à me demander si c'est faisable en ActiveX...
Petite précision, je sais que certains d'entre vous vont se précipiter pour me suggérer d'utiliser plutôt les outils hérités qui offrent cette possibilité, mais pour un soucis de visuel et de facilité de mise en page, j'ai opté pour la version ActiveX qui semble mieux correspondre à ce que je cherche à faire.
J'aimerais vraiment trouver cette solution là avant de me résoudre à utiliser un autre moyen (d'autant plus que je viens de découvrir l’existence du monde merveilleux du codage VBA, et même si je n'y comprends pas grand chose pour l'instant, j'aimerais bien à terme me pencher dessus!)
Merci d'avance aux âmes charitables qui voudront bien m'apporter leur aide.
Configuration: Windows / Chrome 80.0.3987.163
A voir également:
- Mettre un texte par défaut dans une zone de texte contrôle ActiveX
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Alternative zone telechargement - Accueil - Outils
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Mettre un texte en majuscule - Guide
8 réponses
Bonjour,
non, ça n'existe pas ça.
A moins de t'embêter à faire un truc qui s'efface ou est rendu invisible au bout de 3 s. Mais ça fait des usines à gaz pour pas grand chose...
Par contre tu as la propriété ControlTipText qui permet d'informer l'utilisateur s'il reste un instant sans bouger au-dessus du contrôle.
eric
non, ça n'existe pas ça.
A moins de t'embêter à faire un truc qui s'efface ou est rendu invisible au bout de 3 s. Mais ça fait des usines à gaz pour pas grand chose...
Par contre tu as la propriété ControlTipText qui permet d'informer l'utilisateur s'il reste un instant sans bouger au-dessus du contrôle.
eric
Bonjour,
Pourquoi absolument un contrôle ActiveX ?
Parce que, en dehors des champs de formulaires hérités qui sont effectivement un peu obsolète, il y a quand même les contrôles de contenu qui font exactement ce dont tu as besoin... Donc le côté VBA pour faire du VBA, je vois pas trop bien... surtout quand il s'agit d'un document à distribuer et qui va donc déclencher des problèmes de sécurité, selon les configurations des uns et des autres.
m@rina
Pourquoi absolument un contrôle ActiveX ?
Parce que, en dehors des champs de formulaires hérités qui sont effectivement un peu obsolète, il y a quand même les contrôles de contenu qui font exactement ce dont tu as besoin... Donc le côté VBA pour faire du VBA, je vois pas trop bien... surtout quand il s'agit d'un document à distribuer et qui va donc déclencher des problèmes de sécurité, selon les configurations des uns et des autres.
m@rina
Bonjour m@rina et merci de ta réponse.
Je souhaite que les champs à remplir aient un nombre de caractères limité avec un autotab dans certains cas pour passer directement au suivant.
Et d'après ce que j'ai pu voir, seul le contrôle ActiveX permet cela. A moins que j'aie encore des options à découvrir dans les contrôles de contenu...
Je souhaite que les champs à remplir aient un nombre de caractères limité avec un autotab dans certains cas pour passer directement au suivant.
Et d'après ce que j'ai pu voir, seul le contrôle ActiveX permet cela. A moins que j'aie encore des options à découvrir dans les contrôles de contenu...
Bonjour Eric
Word et Excel pour les ActiveX, c'est même combat.
Le seul moyen passe par macro :
texte "par défaut"
Au clic vérification du texte et effacement si c'est le texte par défaut.
Enfin, un truc dans ce goût là !
Pour les contrôles de contenu Word, la fonction de texte par défaut est prévue. En revanche pour limiter le nb de caractères c'est forcément par macro, et pas très pratique puisque l'événement c'est seulement on exit. Donc faut sortir du contrôle pour se faire rappeler à l'ordre.
Bon, rien de tout ça ne vaut un Userform ! ;))
m@rina
Word et Excel pour les ActiveX, c'est même combat.
Le seul moyen passe par macro :
texte "par défaut"
Au clic vérification du texte et effacement si c'est le texte par défaut.
Enfin, un truc dans ce goût là !
Pour les contrôles de contenu Word, la fonction de texte par défaut est prévue. En revanche pour limiter le nb de caractères c'est forcément par macro, et pas très pratique puisque l'événement c'est seulement on exit. Donc faut sortir du contrôle pour se faire rappeler à l'ordre.
Bon, rien de tout ça ne vaut un Userform ! ;))
m@rina
C'est bien ce que je pensais m@rina, dans tous les cas il faut passer par des macros si j'ai bien compris:
1/ si je reste sur les contrôles activeX il me faut une macro pour la mise en place du texte par défaut
2/si je passe par les contrôles de contenu word il me faut une macro pour l'autotab et la limitation de caractères...
J'ai juste?
Si c'est le cas qu'est ce que tu me conseillerais toi? Et surtout comment l'écrirais-tu stp? Je ne suis pas encore assez familiarisée avec le vocabulaire VBA pour pouvoir écrire mes propres macros :/
Et dernière question: c'est quoi que tu appelles un userform? Je suis larguée là! lol
1/ si je reste sur les contrôles activeX il me faut une macro pour la mise en place du texte par défaut
2/si je passe par les contrôles de contenu word il me faut une macro pour l'autotab et la limitation de caractères...
J'ai juste?
Si c'est le cas qu'est ce que tu me conseillerais toi? Et surtout comment l'écrirais-tu stp? Je ne suis pas encore assez familiarisée avec le vocabulaire VBA pour pouvoir écrire mes propres macros :/
Et dernière question: c'est quoi que tu appelles un userform? Je suis larguée là! lol
Bonjour Isa
Pour le Userform, j'explique ici plus en détails :
https://faqword.com/index.php/word/formulaires-controles/978-un-userform-trop-facile
m@rina
Pour le Userform, j'explique ici plus en détails :
https://faqword.com/index.php/word/formulaires-controles/978-un-userform-trop-facile
m@rina
Merci pour ce tuto sur le userform, c'est encore un nouveau monde qui s'ouvre à moi!
J'ai essayé d'en faire un en suivant tes instructions... Je me retrouve avec un truc qui fonctionne à peu près mais j'ai encore beaucoup de choses à régler!
Les checkbox me posent problème, je n'arrive pas à les faire apparaitre telles qu'elles sur mon document final, pour l'instant je n'ai réussi qu'à faire afficher vrai si elle est cochée ou faux si elle est décochée...
c'est mon principal problème pour l'instant mais évidemment il y en a plein d'autres vu que je débute! ;)
J'ai essayé d'en faire un en suivant tes instructions... Je me retrouve avec un truc qui fonctionne à peu près mais j'ai encore beaucoup de choses à régler!
Les checkbox me posent problème, je n'arrive pas à les faire apparaitre telles qu'elles sur mon document final, pour l'instant je n'ai réussi qu'à faire afficher vrai si elle est cochée ou faux si elle est décochée...
c'est mon principal problème pour l'instant mais évidemment il y en a plein d'autres vu que je débute! ;)
Bonsoir,
Donc, si je comprends bien, ton choix est fait, tu passes aux Userforms ?? :)
C'est bien qu'on le sache, ainsi on pourra t'aider en ne parlant que des Userform. Tu as dû voir que les possibilités sont bien plus nombreuses. Ce n'est pas non plus la même philosophie puisqu'on ne touche pas directement au document, mais uniquement par l'intermédiaire du formulaire.
Cela étant, tu parles de faire apparaître les checkboxes sur le document final. Et là, on repart dans un mélange de Userform et de contrôles ActiveX ou de contrôles de contenu.
Si le but est de compléter un document par l'intermédiaire d'un Userform, c'est OK. Mais si tu veux aussi pouvoir compléter directement dans le document, ce n'est pas forcément l'idée du siècle !! :))
Par exemple, avec une checkbox, on peut insérer un texte ou une image particulière dans le document : si la checkbox est cochée, on insère xxxx et sinon yyyy. Mais on n'insère pas une checkbox.
Maintenant si on y tient absolument, ce n'est toutefois pas impossible. Dans ce cas, le mieux est d'utiliser un contrôle de contenu. Le code suivant indique de cocher le contrôle de contenu (balise "toto") si la case à cocher du Userform est cochée :
m@rina
Donc, si je comprends bien, ton choix est fait, tu passes aux Userforms ?? :)
C'est bien qu'on le sache, ainsi on pourra t'aider en ne parlant que des Userform. Tu as dû voir que les possibilités sont bien plus nombreuses. Ce n'est pas non plus la même philosophie puisqu'on ne touche pas directement au document, mais uniquement par l'intermédiaire du formulaire.
Cela étant, tu parles de faire apparaître les checkboxes sur le document final. Et là, on repart dans un mélange de Userform et de contrôles ActiveX ou de contrôles de contenu.
Si le but est de compléter un document par l'intermédiaire d'un Userform, c'est OK. Mais si tu veux aussi pouvoir compléter directement dans le document, ce n'est pas forcément l'idée du siècle !! :))
Par exemple, avec une checkbox, on peut insérer un texte ou une image particulière dans le document : si la checkbox est cochée, on insère xxxx et sinon yyyy. Mais on n'insère pas une checkbox.
Maintenant si on y tient absolument, ce n'est toutefois pas impossible. Dans ce cas, le mieux est d'utiliser un contrôle de contenu. Le code suivant indique de cocher le contrôle de contenu (balise "toto") si la case à cocher du Userform est cochée :
If CheckBox1.Value = True Then
ActiveDocument.SelectContentControlsByTag("toto")(1).Checked = True
End If
m@rina
Oui en effet, il me semble que le userform est plus à même d'obtenir le rendu que je souhaite. Donc on part sur ça! :)
Concernant le problème de checkbox, je ne souhaite pas que l'utilisateur touche au document, tout doit passer par le userform sinon il va forcément y avoir des oublis ou des bêtises de faites! (sachant que je m'adresse à un public qui n'y connait pas grand chose en informatique... encore moins que moi, c'est pour dire!!!)
Je pense que je vais essayer de paramétrer pour que du texte s'affiche si la checkbox est cochée, et rien si elle n'est pas cochée. Mais étant donné que l'utilisateur devra parfois cocher plusieurs cases dans un choix allant de 4 à 15 cases, c'est au niveau de la mise en page que ça risque d'être compliqué. Je ne sais pas encore comment je vais m'y prendre pour placer ça sur mon document et faire en sorte que la mise en page soit correcte peu importe le nombre de cases cochées...
Si je pouvais faire apparaître une case cochée devant le texte, ça rendrait peut être le tout plus compréhensible aussi.
Pour le code, je suppose que ça doit ressembler à un truc du style:
Dim L as String 'Loisir
Dim C as Sting 'Compétition
etc...
If CheckBox1.Value = True Then
L = "Loisir"
Else
L= ""
End If
If CheckBox2.Value = True Then
C = "Compétition"
Else
C = ""
End If
Bref, comme tu peux le voir, on n'est pas encore sortis des ronces! En tout cas merci beaucoup pour ta disponibilité, sans toi j'en serais encore à chercher des tutos youtube pour un truc qui n'existe pas!
Concernant le problème de checkbox, je ne souhaite pas que l'utilisateur touche au document, tout doit passer par le userform sinon il va forcément y avoir des oublis ou des bêtises de faites! (sachant que je m'adresse à un public qui n'y connait pas grand chose en informatique... encore moins que moi, c'est pour dire!!!)
Je pense que je vais essayer de paramétrer pour que du texte s'affiche si la checkbox est cochée, et rien si elle n'est pas cochée. Mais étant donné que l'utilisateur devra parfois cocher plusieurs cases dans un choix allant de 4 à 15 cases, c'est au niveau de la mise en page que ça risque d'être compliqué. Je ne sais pas encore comment je vais m'y prendre pour placer ça sur mon document et faire en sorte que la mise en page soit correcte peu importe le nombre de cases cochées...
Si je pouvais faire apparaître une case cochée devant le texte, ça rendrait peut être le tout plus compréhensible aussi.
Pour le code, je suppose que ça doit ressembler à un truc du style:
Dim L as String 'Loisir
Dim C as Sting 'Compétition
etc...
If CheckBox1.Value = True Then
L = "Loisir"
Else
L= ""
End If
If CheckBox2.Value = True Then
C = "Compétition"
Else
C = ""
End If
Bref, comme tu peux le voir, on n'est pas encore sortis des ronces! En tout cas merci beaucoup pour ta disponibilité, sans toi j'en serais encore à chercher des tutos youtube pour un truc qui n'existe pas!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Pour ce qui est d'ajouter une case cochée (ou non) avant le texte, je t'ai donné le lien, c'est donc possible mais, selon mon avis, inutile.
Pour la mise en page en fonction du nombre de cases cochées, la solution la plus simple est d'utiliser les tableaux. C'est plus simple à programmer sinon il faut jongler avec les signets et c'est plus compliqué.
Quant à ton code, non, il faut utiliser la propriété Caption des Checkbox. Le Caption c'est ce qui est écrit. Et on ne met pas un IF pour chacun, il faut faire une boucle.
Je te donne un exemple ici :
https://www.cjoint.com/c/JDzoiOgWPLH
Cet exemple est un document protégé sur lequel un utilisateur ne peut intervenir que via le formulaire qui va s'afficher automatiquement à l'ouverture du fichier. Ensuite selon les cases cochées, le texte va s'inscrire dans un tableau. Et ensuite le document va se reprotéger à nouveau.
Bien évidemment, ce n'est qu'un exemple et on peut y ajouter quantité de choses.
m@rina
Pour ce qui est d'ajouter une case cochée (ou non) avant le texte, je t'ai donné le lien, c'est donc possible mais, selon mon avis, inutile.
Pour la mise en page en fonction du nombre de cases cochées, la solution la plus simple est d'utiliser les tableaux. C'est plus simple à programmer sinon il faut jongler avec les signets et c'est plus compliqué.
Quant à ton code, non, il faut utiliser la propriété Caption des Checkbox. Le Caption c'est ce qui est écrit. Et on ne met pas un IF pour chacun, il faut faire une boucle.
Je te donne un exemple ici :
https://www.cjoint.com/c/JDzoiOgWPLH
Cet exemple est un document protégé sur lequel un utilisateur ne peut intervenir que via le formulaire qui va s'afficher automatiquement à l'ouverture du fichier. Ensuite selon les cases cochées, le texte va s'inscrire dans un tableau. Et ensuite le document va se reprotéger à nouveau.
Bien évidemment, ce n'est qu'un exemple et on peut y ajouter quantité de choses.
m@rina
Ca fonctionne parfaitement!Merci :)
Mais... évidemment il y a un mais!
J'ai plusieurs parties dans mon questionnaire qui utilisent les cases à cocher, et du coup les réponses devront apparaître dans des tableaux différents. Ce qui n'est pas le cas actuellement puisque le code indique "For each cb in Me.Controls". Je vois bien que c'est cette ligne qu'il faut changer mais je ne sais pas comment le formuler...
Et autre petit soucis, en face de certaines cases à cocher je demande des précisions à fournir par l'utilisateur au moyen d'une textbox, ce qui veut dire que mon tableau devrait comporter une 2ème colonne pour permettre l'affichage de cette textbox.
En résumé voici la disposition des mes checkbox sur mon document:
- checkbox 1 à 4 dans un premier tableau (plus une textbox associée à la checkbox 4)
- chekbox 5 et 6 dans un second tableau (plus une textbox associée à la checkbox 6)
- chekbox 7 et 8 dans un troisième tableau (plus une textbox associée à la checkbox 8)
- chekbox 9 à 15 dans un quatrième tableau (avec une textbox associée à chaque checkbox)
A terme, j'aurai probablement un tableau avec plusieurs colonnes à ajouter au formulaire pour que les utilisateurs puisse donner plusieurs informations concernant les différents groupes qui composent leur section Les colonnes en questions seraient Nom du groupe, nature de l'activité, niveau de pratique, sexe des pratiquants, catégorie d'âge, remarques ...
Et il y aurait ainsi une ligne par groupe. pour certains clubs il n'y aura qu'une ligne de remplie, mais pour d'autres, j'en aurai une page entière!
Du coup la méthodologie de création d'un tableau entier m'intéresse énormément!
Je sais que j'en demande beaucoup, désolée...
Bonne soirée!
Mais... évidemment il y a un mais!
J'ai plusieurs parties dans mon questionnaire qui utilisent les cases à cocher, et du coup les réponses devront apparaître dans des tableaux différents. Ce qui n'est pas le cas actuellement puisque le code indique "For each cb in Me.Controls". Je vois bien que c'est cette ligne qu'il faut changer mais je ne sais pas comment le formuler...
Et autre petit soucis, en face de certaines cases à cocher je demande des précisions à fournir par l'utilisateur au moyen d'une textbox, ce qui veut dire que mon tableau devrait comporter une 2ème colonne pour permettre l'affichage de cette textbox.
En résumé voici la disposition des mes checkbox sur mon document:
- checkbox 1 à 4 dans un premier tableau (plus une textbox associée à la checkbox 4)
- chekbox 5 et 6 dans un second tableau (plus une textbox associée à la checkbox 6)
- chekbox 7 et 8 dans un troisième tableau (plus une textbox associée à la checkbox 8)
- chekbox 9 à 15 dans un quatrième tableau (avec une textbox associée à chaque checkbox)
A terme, j'aurai probablement un tableau avec plusieurs colonnes à ajouter au formulaire pour que les utilisateurs puisse donner plusieurs informations concernant les différents groupes qui composent leur section Les colonnes en questions seraient Nom du groupe, nature de l'activité, niveau de pratique, sexe des pratiquants, catégorie d'âge, remarques ...
Et il y aurait ainsi une ligne par groupe. pour certains clubs il n'y aura qu'une ligne de remplie, mais pour d'autres, j'en aurai une page entière!
Du coup la méthodologie de création d'un tableau entier m'intéresse énormément!
Je sais que j'en demande beaucoup, désolée...
Bonne soirée!
Bonjour,
Je crains quand même que tu ne te lances dans une aventure qui dépasse tes compétences actuelles...
Normalement, on commence doucement dans le VBA, et là tu t'attaques à des trucs pas si simples...
Il faudra penser par exemple à gérer les erreurs, et surtout comme je vois que le formulaire finit par être de taille importante, il va falloir savoir s'il risque d'être complété en plusieurs fois. Et là, ça va pas être simple du tout. Si on relance une seconde fois le formulaire, que va-t-il se passer ? Est-ce qu'il sera réinitialisé ou bien est ce faudra réinjecter dans le formulaire les données déjà saisies ?... ça risque d'être une usine à gaz. Possible quand on a l'habitude de macroter, mais pas évidente lorsqu'on est débutant.
Concernant les tableaux, il faut juste indiquer le numéro du tableau du document (le premier est le 1, le 2e le 2, etc.). Donc ça ne pose pas de problème pour dire où aller mettre les données.
Concernant les checkbox, il va falloir les nommer afin de pouvoir utiliser les noms dans les boucles.
Par exemple la première catégorie : a1, a2, a3, a4
la deuxième catégorie : b1, b2
etc.
Pour la boucle :
Pour les zones de texte, c'est pas très compliqué, faut avoir de la rigueur dans les noms. Il n'y a pas besoin de boucle. Faut juste dire que le texte de la textbox1 ira dans le tableau 1, deuxième colonne, etc.
Mais je suppose qu'il faudra aussi des conditions : si la case x est cochée, alors on peut mettre le texte de la zone, etc. Ou bien si on remplit la zone de texte, il faut que la case correspondante soit automatiquement cochée, etc.
Comme tu vois, en programmation il faut penser à tout, et tout analyser avant de se jeter dans le code !
m@rina
Je crains quand même que tu ne te lances dans une aventure qui dépasse tes compétences actuelles...
Normalement, on commence doucement dans le VBA, et là tu t'attaques à des trucs pas si simples...
Il faudra penser par exemple à gérer les erreurs, et surtout comme je vois que le formulaire finit par être de taille importante, il va falloir savoir s'il risque d'être complété en plusieurs fois. Et là, ça va pas être simple du tout. Si on relance une seconde fois le formulaire, que va-t-il se passer ? Est-ce qu'il sera réinitialisé ou bien est ce faudra réinjecter dans le formulaire les données déjà saisies ?... ça risque d'être une usine à gaz. Possible quand on a l'habitude de macroter, mais pas évidente lorsqu'on est débutant.
Concernant les tableaux, il faut juste indiquer le numéro du tableau du document (le premier est le 1, le 2e le 2, etc.). Donc ça ne pose pas de problème pour dire où aller mettre les données.
Concernant les checkbox, il va falloir les nommer afin de pouvoir utiliser les noms dans les boucles.
Par exemple la première catégorie : a1, a2, a3, a4
la deuxième catégorie : b1, b2
etc.
Pour la boucle :
For Each cb In Me.Controls
If TypeOf cb Is MSForms.CheckBox Then
If Left(cb.Name, 1) = "a" And cb.Value = True Then
nbl = tablo1.Rows.Count
tablo1.Rows.Add
nbl = nbl + 1
tablo1.Rows(nbl).Cells(1).Range.Text = cb.Caption
ElseIf Left(cb.Name, 1) = "b" And cb.Value = True Then
nbl = tablo2.Rows.Count
tablo2.Rows.Add
nbl = nbl + 1
tablo2.Rows(nbl).Cells(1).Range.Text = cb.Caption
End If
End If
Next
Pour les zones de texte, c'est pas très compliqué, faut avoir de la rigueur dans les noms. Il n'y a pas besoin de boucle. Faut juste dire que le texte de la textbox1 ira dans le tableau 1, deuxième colonne, etc.
tablo1.Rows(nbl).Cells(2).Range.Text = Me.TextBox2.Text
Mais je suppose qu'il faudra aussi des conditions : si la case x est cochée, alors on peut mettre le texte de la zone, etc. Ou bien si on remplit la zone de texte, il faut que la case correspondante soit automatiquement cochée, etc.
Comme tu vois, en programmation il faut penser à tout, et tout analyser avant de se jeter dans le code !
m@rina
Bonsoir m@rina,
Merci pour tes précieux conseils.
Je comprends bien que ce projet est peu être un peu trop complexe pour la novice que je suis, le problème est que je vais avoir besoin de faciliter au maximum le travail des 46 associations sportives qui devront remplir le formulaire afin de me garantir de récupérer un maximum d'infos, et surtout d'avoir une mise en page uniforme pour me faciliter le traitement des données recueillies... d'où mon idée de départ d'avoir un document protégé. J'ai lu quelquepart que plus on veut faciliter l'utilisation, plus le codage est complexe, idée que je comprends parfaitement et à laquelle je veux bien adhérer! Pour le remplissage, à prioris, il devrait pouvoir se faire en une seule fois puisque tout ce que je demande sont des informations que les dirigeants de clubs connaissent, sachant que je ne compte pas non plus les embêter avec des msgbox qui les obligeraient à remplir tous les champs. S'ils veulent sauter une question, libre à eux! S'il le faut, pour m'assurer que tout soit rempli en une fois, je peux également prévoir de joindre un document explicatif en PDF, ou sur la première page de mon userform par exemple qui prépare le terrain et les invite à rassembler toutes les informations sous la main avant de commencer à remplir le formulaire.
Sur tes conseils je suis passée au userform qui jusque là me convient bien car il implique que les utilisateurs ne toucheront pas du tout à mon document, et que c'est moi qui peux décider au préalable où les informations saisies seront rangées et sous quelle forme! D'après ce que j'ai compris de toute façon il aurait également fallu mettre les mains dans le cambouis et faire du codage VBA si j'avais choisi de rester sur mon formulaire initial avec des contrôles activeX ou des contrôles de contenu word.
Du coup je prends le risque de continuer sur ma lancée et d'aller au bout du projet, tant pis si ça doit me prendre du temps (en ce moment j'en ai de toutes façon puisque les clubs sont fermés héhéhé...)
Je trouve cela enrichissant de me confronter à ce que je ne sais pas encore, et je compte bien apprendre de cette expérience. Ce qui me manque le plus à l'heure actuelle, c'est une sorte de "lexique" qui recenserait l'ensemble des termes utilisés en VBA (Dim, Set, String, Table....) et qui expliquerait leur sens, quand, comment et pourquoi les utiliser.
Lorsque je vois un code tout fait, j'arrive parfois à comprendre à peu près ce que ça veut dire et donc quel sera le résultat, mais bien souvent, je ne sais pas de quoi on parle donc difficile de me l'approprier pour le mettre en pratique.
Pour en revenir à mon document, pour l'instant je suis bloquée, je n'arrive pas à faire en sorte que mes différents groupes de checkbox apparaissent dans des tableaux différents, même en suivant tes indications... J'ai tout dans le premier tableau, et je ne comprends pas pourquoi puisque j'ai bien créé mes autres tableaux et créé des catégories pour mes checkbox. Mystère!
Merci pour tes précieux conseils.
Je comprends bien que ce projet est peu être un peu trop complexe pour la novice que je suis, le problème est que je vais avoir besoin de faciliter au maximum le travail des 46 associations sportives qui devront remplir le formulaire afin de me garantir de récupérer un maximum d'infos, et surtout d'avoir une mise en page uniforme pour me faciliter le traitement des données recueillies... d'où mon idée de départ d'avoir un document protégé. J'ai lu quelquepart que plus on veut faciliter l'utilisation, plus le codage est complexe, idée que je comprends parfaitement et à laquelle je veux bien adhérer! Pour le remplissage, à prioris, il devrait pouvoir se faire en une seule fois puisque tout ce que je demande sont des informations que les dirigeants de clubs connaissent, sachant que je ne compte pas non plus les embêter avec des msgbox qui les obligeraient à remplir tous les champs. S'ils veulent sauter une question, libre à eux! S'il le faut, pour m'assurer que tout soit rempli en une fois, je peux également prévoir de joindre un document explicatif en PDF, ou sur la première page de mon userform par exemple qui prépare le terrain et les invite à rassembler toutes les informations sous la main avant de commencer à remplir le formulaire.
Sur tes conseils je suis passée au userform qui jusque là me convient bien car il implique que les utilisateurs ne toucheront pas du tout à mon document, et que c'est moi qui peux décider au préalable où les informations saisies seront rangées et sous quelle forme! D'après ce que j'ai compris de toute façon il aurait également fallu mettre les mains dans le cambouis et faire du codage VBA si j'avais choisi de rester sur mon formulaire initial avec des contrôles activeX ou des contrôles de contenu word.
Du coup je prends le risque de continuer sur ma lancée et d'aller au bout du projet, tant pis si ça doit me prendre du temps (en ce moment j'en ai de toutes façon puisque les clubs sont fermés héhéhé...)
Je trouve cela enrichissant de me confronter à ce que je ne sais pas encore, et je compte bien apprendre de cette expérience. Ce qui me manque le plus à l'heure actuelle, c'est une sorte de "lexique" qui recenserait l'ensemble des termes utilisés en VBA (Dim, Set, String, Table....) et qui expliquerait leur sens, quand, comment et pourquoi les utiliser.
Lorsque je vois un code tout fait, j'arrive parfois à comprendre à peu près ce que ça veut dire et donc quel sera le résultat, mais bien souvent, je ne sais pas de quoi on parle donc difficile de me l'approprier pour le mettre en pratique.
Pour en revenir à mon document, pour l'instant je suis bloquée, je n'arrive pas à faire en sorte que mes différents groupes de checkbox apparaissent dans des tableaux différents, même en suivant tes indications... J'ai tout dans le premier tableau, et je ne comprends pas pourquoi puisque j'ai bien créé mes autres tableaux et créé des catégories pour mes checkbox. Mystère!
Probablement que le tableau2 n'a pas été défini :
Un petit lien intéressant pour comprendre certaines choses :
https://docs.microsoft.com/fr-fr/office/vba/language/reference/keywords-visual-basic-for-applications?redirectedfrom=MSDN
m@rina
Set tablo2 = mondoc.Tables(2)
Un petit lien intéressant pour comprendre certaines choses :
https://docs.microsoft.com/fr-fr/office/vba/language/reference/keywords-visual-basic-for-applications?redirectedfrom=MSDN
m@rina
Bonsoir m@rina,
Décidément tu es ma bonne fée! J'avais bien pensé à définir le tableau2, mais j'avais laissé (1) au lieu de mettre (2). Une fois cette correction faite évidemment ça marche mieux.
Cela illustre bien le propos que je tenais hier, j'ai besoin d'étoffer mon lexique VBA pour comprendre de quoi je parle, et là ton lien est une vraie mine d'or pour moi! Bon je vais avoir besoin de temps pour assimiler tout ça, mais c'est exactement ce que je cherchais... Mille mercis!
Décidément tu es ma bonne fée! J'avais bien pensé à définir le tableau2, mais j'avais laissé (1) au lieu de mettre (2). Une fois cette correction faite évidemment ça marche mieux.
Cela illustre bien le propos que je tenais hier, j'ai besoin d'étoffer mon lexique VBA pour comprendre de quoi je parle, et là ton lien est une vraie mine d'or pour moi! Bon je vais avoir besoin de temps pour assimiler tout ça, mais c'est exactement ce que je cherchais... Mille mercis!
Bonjour,
Après quelques jours de vacances, je reprends mon projet de formulaire avec encore un certain nombre de choses à régler:
Je n'ai toujours pas résolu mon problème de tableau lorsque celui-ci doit contenir les informations récupérées de mes textbox en colonne 2 pour compléter les informations des checkbox qui apparaissent en colonne 1.
Pour l'instant, seule la dernière textbox renseignée apparaît systématiquement dans la dernière ligne du tableau, et donc pas forcément en face du texte de la checkbox qu'elle est sensée compléter...
Comment puis-je faire pour m'assurer que le contenu de ma textbox apparaisse systématiquement sur la même ligne que la checkbox qui lui est associée?
Une fois ce problème résolu je m'attaquerai à la création d'un tableau à 6 colonnes (nombre de lignes à définir par l'utilisateur car tout dépendra du nombre de groupes qu'il aura à renseigner, cela pourra être 1 seule ligne pour certains, et monter jusqu'à une 30aine pour d'autres...) Là encore, vos conseils seront plus que bienvenus sur la méthode la plus appropriée...
Dernier point qui lui n'a pas grand chose à voir avec mon document: Je ne sais pas trop ce que je dois faire avec ce post... Dois-je le mettre en résolu sachant que la solution que j'ai choisie n'a pas grand chose à voir avec ma question de départ? Et afin de poursuivre sur ma lancée du formulaire, est-ce que je ne devrait pas du coup créer un nouveau post avec un sujet clairement orienté sur la création d'un userform sous word? Je ne suis pas habituée au fonctionnement de ce type de forum alors je préfère demander ;)
Merci d'avance une fois de plus pour vos lumières!
Bonne journée et au plaisir de vous lire :)
Après quelques jours de vacances, je reprends mon projet de formulaire avec encore un certain nombre de choses à régler:
Je n'ai toujours pas résolu mon problème de tableau lorsque celui-ci doit contenir les informations récupérées de mes textbox en colonne 2 pour compléter les informations des checkbox qui apparaissent en colonne 1.
Pour l'instant, seule la dernière textbox renseignée apparaît systématiquement dans la dernière ligne du tableau, et donc pas forcément en face du texte de la checkbox qu'elle est sensée compléter...
Comment puis-je faire pour m'assurer que le contenu de ma textbox apparaisse systématiquement sur la même ligne que la checkbox qui lui est associée?
Une fois ce problème résolu je m'attaquerai à la création d'un tableau à 6 colonnes (nombre de lignes à définir par l'utilisateur car tout dépendra du nombre de groupes qu'il aura à renseigner, cela pourra être 1 seule ligne pour certains, et monter jusqu'à une 30aine pour d'autres...) Là encore, vos conseils seront plus que bienvenus sur la méthode la plus appropriée...
Dernier point qui lui n'a pas grand chose à voir avec mon document: Je ne sais pas trop ce que je dois faire avec ce post... Dois-je le mettre en résolu sachant que la solution que j'ai choisie n'a pas grand chose à voir avec ma question de départ? Et afin de poursuivre sur ma lancée du formulaire, est-ce que je ne devrait pas du coup créer un nouveau post avec un sujet clairement orienté sur la création d'un userform sous word? Je ne suis pas habituée au fonctionnement de ce type de forum alors je préfère demander ;)
Merci d'avance une fois de plus pour vos lumières!
Bonne journée et au plaisir de vous lire :)
Bonjour,
Résolu ou pas, on s'en moque. Enfin du vert, pas pour toi ;-)
Démarrer un nouveau post avec un titre adéquat augmente le taux de lecture. Mais il n'y a pas beaucoup d'amateur de vba word....
Ce qu'il faudrait surtout c'est déposer un fichier de travail (sans données personnelles), nos dons divinatoires étant très limités. Dans ma boule de cristal je ne vois que la tour Eiffel avec de la neige. J'ai dû me faire rouler...
cjoint.com et coller ici le lien fourni.
Si tu démarres un nouveau topic, met son lien ici
eric
Résolu ou pas, on s'en moque. Enfin du vert, pas pour toi ;-)
Démarrer un nouveau post avec un titre adéquat augmente le taux de lecture. Mais il n'y a pas beaucoup d'amateur de vba word....
Ce qu'il faudrait surtout c'est déposer un fichier de travail (sans données personnelles), nos dons divinatoires étant très limités. Dans ma boule de cristal je ne vois que la tour Eiffel avec de la neige. J'ai dû me faire rouler...
cjoint.com et coller ici le lien fourni.
Si tu démarres un nouveau topic, met son lien ici
eric
Bonjour,
et surtout d'avoir une mise en page uniforme pour me faciliter le traitement des données recueillies...
Ote-moi d'un doute stp.
Tu fais ça sur word alors que le but final est de récolter des données pour les analyser ensuite ?
Alors tu t'embêtes pour faire joli comme si c'était destiné à être imprimé, ça ne le sera jamais, et ensuite tu vas ramer à nouveau pour récupérer ce que tu as laborieusement mis sur tes documents ?
Si c'est ça pense fonctionnel. Oublie word et utilise excel qui est prévu pour ces travaux.
Tu pourras tout autant et même plus fiabiliser la saisie et tu auras des résultats directement (après récolement je pense) exploitables.
eric
et surtout d'avoir une mise en page uniforme pour me faciliter le traitement des données recueillies...
Ote-moi d'un doute stp.
Tu fais ça sur word alors que le but final est de récolter des données pour les analyser ensuite ?
Alors tu t'embêtes pour faire joli comme si c'était destiné à être imprimé, ça ne le sera jamais, et ensuite tu vas ramer à nouveau pour récupérer ce que tu as laborieusement mis sur tes documents ?
Si c'est ça pense fonctionnel. Oublie word et utilise excel qui est prévu pour ces travaux.
Tu pourras tout autant et même plus fiabiliser la saisie et tu auras des résultats directement (après récolement je pense) exploitables.
eric
Bonsoir eriiic.
Oui je parle présentation car dans mon cas ça a effectivement un aspect prédominant.
Je m'explique: je travaille dans le milieu associatif ce qui veut dire que la plupart des personnes à qui j'ai à faire, que ce soit les dirigeants de clubs ou même le bureau qui dirige la stucture dont je fais partie sont des gens qui ont une grande disponibilité et peu ou plus de contraintes familiales... tu l'auras compris je parle des... retraités!
Ils sont pleins de bonne volonté et motivés, mais il faut bien reconnaitre que l'informatique c'est pas leur truc... du coup ce qui prime le plus pour eux, c'est qu'à l'arrivée je puisse leur éditer un beau papier bien présenté pour chaque club sondé (d'où mon choix de partir sur word)
Dans un deuxième temps, effectivement j'aurai à faire un recoupement des informations recueillies pour présenter une synthèse et là effectivement je pense qu'excel sera plus approprié... mais de mon point de vue, ce n'est pas pour tout de suite. Si je veux m'assurer la coopération du plus grand nombre, à moi de m'adapter à mon public :)
Peut être que je me trompe de stratégie , je suis totalement autodidacte en matière d'informatique alors je sais que je commets sûrement des erreurs. En tout cas je ne regrette pas d'avoir posté ma demande d'aide ici, vos remarques sont constructives et me poussent à la réflexion, c'est un bon exercice!
Bonne soirée
Oui je parle présentation car dans mon cas ça a effectivement un aspect prédominant.
Je m'explique: je travaille dans le milieu associatif ce qui veut dire que la plupart des personnes à qui j'ai à faire, que ce soit les dirigeants de clubs ou même le bureau qui dirige la stucture dont je fais partie sont des gens qui ont une grande disponibilité et peu ou plus de contraintes familiales... tu l'auras compris je parle des... retraités!
Ils sont pleins de bonne volonté et motivés, mais il faut bien reconnaitre que l'informatique c'est pas leur truc... du coup ce qui prime le plus pour eux, c'est qu'à l'arrivée je puisse leur éditer un beau papier bien présenté pour chaque club sondé (d'où mon choix de partir sur word)
Dans un deuxième temps, effectivement j'aurai à faire un recoupement des informations recueillies pour présenter une synthèse et là effectivement je pense qu'excel sera plus approprié... mais de mon point de vue, ce n'est pas pour tout de suite. Si je veux m'assurer la coopération du plus grand nombre, à moi de m'adapter à mon public :)
Peut être que je me trompe de stratégie , je suis totalement autodidacte en matière d'informatique alors je sais que je commets sûrement des erreurs. En tout cas je ne regrette pas d'avoir posté ma demande d'aide ici, vos remarques sont constructives et me poussent à la réflexion, c'est un bon exercice!
Bonne soirée
Ok.
Mais un UserForm sur excel sera exactement pareil que sur word pour l'utilisateur.
Et ta page word ne te sert à rien d'autre qu'à tout compliquer non ? puisque personne ne la regardera...
Par contre pour enregistrer les données tu fais ça en 2 min sur excel contre 2 semaines ou plus sur word au rythme où c'est parti ;-)
Et 2 autres semaines pour les récupérer ? ;-)
En plus je pense que sur excel tu peux gérer facilement ton formulaire en le laissant sur la feuille.
Ce qui te donne beaucoup plus de souplesse pour l'affichage, surtout si tu dois écrire gros que ce soit lisible par tout le monde.
eric
Mais un UserForm sur excel sera exactement pareil que sur word pour l'utilisateur.
Et ta page word ne te sert à rien d'autre qu'à tout compliquer non ? puisque personne ne la regardera...
Par contre pour enregistrer les données tu fais ça en 2 min sur excel contre 2 semaines ou plus sur word au rythme où c'est parti ;-)
Et 2 autres semaines pour les récupérer ? ;-)
En plus je pense que sur excel tu peux gérer facilement ton formulaire en le laissant sur la feuille.
Ce qui te donne beaucoup plus de souplesse pour l'affichage, surtout si tu dois écrire gros que ce soit lisible par tout le monde.
eric
Le temps de récupération des données me préoccupe moins car il s'agit d'une enquête qui va s'espacer dans le temps donc j'aurai le temps de récupérer ce qu'il me faut et de remplir mon document excel au fur et a mesure que les formulaires me reviennent.
Par contre chaque club devra pouvoir garder son exemplaire rempli, et je devrai également présenter une version imprimée aux gens du bureau, d'où mon soucis de présentation du document que chaque utilisateur va générer. C'est un peu old school je te l'accorde, mais comme je te l'ai dit, on fait en fonction de son public ;)
Par contre chaque club devra pouvoir garder son exemplaire rempli, et je devrai également présenter une version imprimée aux gens du bureau, d'où mon soucis de présentation du document que chaque utilisateur va générer. C'est un peu old school je te l'accorde, mais comme je te l'ai dit, on fait en fonction de son public ;)
Bonsoir,
Je n'ai pas compris s'il s'agirait réellement de cases à cocher, ou bien s'il s'agit d'un choix parmi x possibilités, auquel cas il s'agirait de boutons d'option. C'est très différent : dans une groupe le bouton d'option sélectionné annule les autres. Et vu ton exemple j'ai l'impression que ce sont plutôt des boutons d'option dont tu as besoin.
m@rina
Je n'ai pas compris s'il s'agirait réellement de cases à cocher, ou bien s'il s'agit d'un choix parmi x possibilités, auquel cas il s'agirait de boutons d'option. C'est très différent : dans une groupe le bouton d'option sélectionné annule les autres. Et vu ton exemple j'ai l'impression que ce sont plutôt des boutons d'option dont tu as besoin.
m@rina
Bonsoir m@rina,
Non c'est bien des cases à cocher que je veux mettre, j'ai bien saisi la différence avec les boutons d'option mais dans mon cas je veux que les utilisateurs puissent cocher plusieurs choix.
Il s'agit d'un formulaire à destination d'associations sportives qui doivent notamment lister la nature de leurs activités. Et une même association peut effectivement avoir des activités Loisir ET de Compétition :)
Non c'est bien des cases à cocher que je veux mettre, j'ai bien saisi la différence avec les boutons d'option mais dans mon cas je veux que les utilisateurs puissent cocher plusieurs choix.
Il s'agit d'un formulaire à destination d'associations sportives qui doivent notamment lister la nature de leurs activités. Et une même association peut effectivement avoir des activités Loisir ET de Compétition :)
Je ne trouve pas le ControlTipText dans les propriétés... Peux-tu m'indiquer comment le mettre en place stp?