Macro "bouton" qui fait un double clic

Fermé
meaurysse Messages postés 66 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 2 octobre 2020 - Modifié le 13 nov. 2018 à 09:39
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 13 nov. 2018 à 10:55
Bonjour à tous,

Aujourd'hui je suis confronté à un petit problème en Visual Basic :

SITUATION
°°°°°°°°°°°°°°°°°
Dans le cadre professionnel, je dois monter une base de donnée Excel que plusieurs collaborateurs différents vont aller remplir des champs. Pour ce faire, j'ai décidé de créer des Userform afin que tous les utilisateurs entrent les données dans les userforms ou par listes déroulantes de celles-ci et à la fin n'aient plus qu'à cliquer sur "OK" pour que l'userform insère lui-même les données dans les champs respectifs, évitant ainsi à tout utilisateur de magouiller n'importe comment la base de donnée. Jusqu'à là tout va bien.

PROBLEME
°°°°°°°°°°°°°°°°°
Dans un champ un peu particulier, une opération manuelle est nécessaire et j'aurai juste besoin que l'userform se ferme, et qu'une fois fermé, la cellule en question soit "éditable en texte" afin de pouvoir mettre en forme une partie de texte....

Le problème n'est pas sur l'userform qui fonctionne bien, mais sur le système "double clic".

En réalité, j'aurai donc besoin d'une aide de votre part pour me fournir le code VBA nécessaire à faire cette action, c'est à dire un bouton macro sur lequel on clique et qui va cibler une cellule et qui va "simuler" un double-clic dessus afin de pouvoir éditer le contenu du texte déjà inséré (comme on peut faire en double-cliquant justement dans une cellule renseignée pour mettre une partie en couleur ou autre taille d'écriture par exemple)

Une fois que j'aurai la solution du code comment il fonctionne, j'intègrerai la fonction moi-même dans mon userform en adaptant la situation (ce serait trop compliqué de vous fournir toute la base de donnée qui est déjà très complexe).

Ci-dessous, un petit exemple plus concret de ce que j'aimerai comprendre..

CAS CONCRET (pour exemple)
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
Dans un fichier Excel vierge, j'ai créé une colonne B1:B20 dont chaque cellule contiennent plusieurs données, par exemple:

B1 = Lundi [ALT+ENTER] Mercredi
B6 = jeudi [ALT+ENTER] vendredi [ALT+ENTER] lundi
B8 = lundi [ALT+ENTER] mardi [ALT+ENTER] mercredi

etc... donc plusieurs lignes de données dans une seule cellule, et ça dans un tableau entier.

Maintenant je sélectionne B8 et je double-clic dessus, alors j'accède aux données textes éditable et je met par exemple "mardi" en gras rouge pour qu'il se distingue des autres. Mais ça je le fais manuellement.


--->> J'aimerai qu'en cliquant sur un bouton macro (initialement dans mon userform) que la cellule actuelle (B8) devienne éditable. Donc en cliquant sur le bouton que le "double-clic pour accéder au texte" s'active.


Est-ce quelqu'un pourrait m'éclairer comment écrire le code VBA pour faire cette action ?

Vous me seriez d'une grande aide :)

Merci d'avance de votre coup de pouce

meaurysse


ATTENTION : Je ne souhaite pas lancer une macro à partir d'un double-clic sur une cellule, mais qu'un bouton macro effectue un double-clic sur une cellule pour accéder à l'édition du contenu.
A voir également:

2 réponses

eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 240
13 nov. 2018 à 10:03
Bonjour,

je ne pense pas cela possible.
Mais mettre en couleur par macro une partie du texte est faisable directement.
Met-toi en enregistrement de macro, fait-le manuellement, et tu auras l'essentiel du code.
eric
0
meaurysse Messages postés 66 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 2 octobre 2020
13 nov. 2018 à 10:44
Salut,

Merci de ta réponse ! Je vais tester ça mais je crois l'avoir déjà essayé mais sans succès pour mon cas de figure.
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 240
13 nov. 2018 à 10:55
Devant tant de précisions tu ne peux que t'en remettre à toi-même... :-)
0
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
13 nov. 2018 à 10:10
Bonjour,
Je pense que tu prends le problème de la mauvaise manière
Utiliser une cellule pour plusieurs info est une erreur, la preuve tu ne peux pas traiter une donnée en particulier puisqu'elle est noyée dans une cellule qui en contient d'autre.

--->> J'aimerai qu'en cliquant sur un bouton macro (initialement dans mon userform) que la cellule actuelle (B8) devienne éditable. Donc en cliquant sur le bouton que le "double-clic pour accéder au texte" s'active.
Comment le code du bouton va deviner si il doit aller en B8 et pas dans une autre cellule?
Comment ce même code va deviner quelle information de la cellule il doit mettre en forme et quelle mise en forme appliquer et pourquoi?

0
meaurysse Messages postés 66 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 2 octobre 2020
13 nov. 2018 à 10:47
Salut, merci pour ta réponse, mais je suis pas tout à fait d'accord. Alors effectivement, la donnée est "noyée" en quelque sorte, mais pas dans mon tableau à moi, car la "base de donnée" est plus sous forme de tableau. Certaines macros trient le tableau par les colonnes en 1 clic : (date, statut, contacts, etc.) mais via un SI imbriqué qui reprend le contenu de la cellule.

Le fait de faire des ALT+ENTER, permet de trier la cellule qui contient toutes informations liées. Même si elle n'est en quelque sorte noyée.. J'ai également créé un outil de recherche avec mise en forme conditionnelle qui surbrillance les critères recherchés, permettant de mettre en évidence ces éléments "noyés".
0