Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 msgBox : afficher contenu de la cellule cliquée

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite une belle journée pleine de soleil 🙂

Je me tourne à nouveau vers nos ténors pour un codage que je n'arrive pas à faire.

J'ai un code qui m'a été "concocté" sur notre forum et j'en remercie encore l'auteur car il fonctionne toujours super bien :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
If Not Intersect(R, Range("f4")) Is Nothing And R.Count = 1 Then

If Not Intersect(R, Range("f4:f10")) Is Nothing And R.Count = 1 Then
Application.EnableEvents = False: Application.ScreenUpdating = False
MsgBox Range("f4")
[a1].Select
Application.EnableEvents = True: Application.ScreenUpdating = True
Exit Sub
End If
End If
End Sub

Si je clique sur ma cellule F4, j'ai bien le msgBox qui apparait avec le contenu de la cellule :

Pour m'en servir dans un autre fichier de travail, j'aimerais pouvoir afficher le msgBox pour chaque cellule cliquée, par exemple de "F4:F100"
Je n'arrive pas à le faire.
Pouvez-vous m'aider ?
Je joins un petit fichier test,
Avec mes remerciements,
lionel,
 

Pièces jointes

Solution
Bonjour Lionel, Marcel32,

Une simple TextBox sur la feuille fait l'affaire, il me semble qu'on a déjà vu ensemble un truc comme ça :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
With TextBox1
    .Visible = False
    If Intersect(ActiveCell, [F4:F27]) Is Nothing Or ActiveCell = "" Then Exit Sub
    .Top = ActiveCell.Top
    .Left = ActiveCell.Offset(, 1).Left + 5
    .Text = ActiveCell
    .SelStart = 0
    .Visible = True
End With
End Sub

Private Sub TextBox1_Change()
Application.ScreenUpdating = False
ActiveCell = TextBox1
ActiveCell.WrapText = False
End Sub
A+
Bonjour Lionel, le forum,

Pourquoi compliquer les choses :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
If Not Intersect(ActiveCell, Range("f4:f100")) Is Nothing Then MsgBox ActiveCell: [a1].Select
End Sub
A+
 
Bonjour,

Je ne pige pas pourquoi tu as un double test Intersect.

Essaye ces modifications :
- Enlève le premier test.
- Pour le test qui reste, élargi-le à F4:F100 au lieu de F4:F10.
- Pour le MsgBox, utilise R au lieu de "F4".
 
Dernière édition:
Bonjour Gérard,

LOL évidemment ... mais cette fois, c'était pas moi 🙂
Merci Gérard comme d'habitude clair - net et précis.
Encore un GRAND merci,
lionel
 
Bonjour,

Je ne pige pas pourquoi tu as un double test Intersect.

Essaye ces modifications :
- Enlevève le premier test.
- Pour le test qui reste, élargi-le à F4:F100 au lieu de F4:F10.
- Pour le MsgBox, utilise R au lieu de "F4".
Bonjour marcel,
Merci à toi d'être là,
double test Intersect = erreur de copie dans le fil.
Mais c'est résolue.
Bonne journée 🙂
lionel,
 
Bonjour à toutes et à tous,
Je vous souhaite une belle journée 🙂

Je me bats pour rester le meilleur "usine à gaz" et pas question de quitter cette terre sans mon titre ! 😉

Je reviens sur le fil car j'en ai une bien bonne.
Gérard (merci à toi) m'a donné un code simple pour afficher le détail contenu dans une cellule.
Le but de ce msgbox est de pouvoir lire clairement sans clic dans la cellule tout le contenu qui n'est pas affiché (cellule petite).

Mon rêve d'usine à gaz folle" 😛.
Dans la continuité de l'objet de mon fil, est-il possible de modifier directement dans le msgbox le contenu de la cellule ? (sans avoir à cliquer dans la cellule).

En cas, je joins le fichier.
En fait, j'avais pensé à un UserForm mais ...

Amicalement,
lionel,
 

Pièces jointes

Dernière édition:
est-il possible de modifier directement dans le msgbox le contenu de la cellule ? (sans avoir à cliquer dans la cellule).
Sans avoir à cliquer "dans" la cellule, je ne vois pas bien comment Excel peut savoir quelle cellule tu veux éditer.

À ma connaissance, une MsgBox est "en lecture seule".
Mais si tu cliques sur la cellule à éditer, au lieu d'afficher une MsgBox tu peux, comme tu le disais, afficher un UserForm contenant une TextBox avec le contenu de la cellule, un bouton "OK" (pour fermer le UserForm en remplaçant le contenu de la cellule par celui de la TextBox) et un bouton "Annuler" (pour fermer le UserForm sans modifier le contenu de la cellule).
 
Dernière édition:
Bonjour Lionel, Marcel32,

Une simple TextBox sur la feuille fait l'affaire, il me semble qu'on a déjà vu ensemble un truc comme ça :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
With TextBox1
    .Visible = False
    If Intersect(ActiveCell, [F4:F27]) Is Nothing Or ActiveCell = "" Then Exit Sub
    .Top = ActiveCell.Top
    .Left = ActiveCell.Offset(, 1).Left + 5
    .Text = ActiveCell
    .SelStart = 0
    .Visible = True
End With
End Sub

Private Sub TextBox1_Change()
Application.ScreenUpdating = False
ActiveCell = TextBox1
ActiveCell.WrapText = False
End Sub
A+
 

Pièces jointes

Bonjour Gérard,

Effectivement et ça fonctionne super bien 🙂

Merci de me l'avoir rappelé ... mais bon sang ... où ai-je la tête 🙄
C'est certainement le gaz 😛
Bonne fin de journée,
lionel 🙂
 
Bonjour à toutes et à tous,
Je vous souhaite une belle journée 🙂

Mon Cher Gérard m'a rappelé que ma demande avait déjà été traitée avec lui par le passé et m'a transmis le fichier en #post9. Evidemment, comme d'hab, ça fonctionne nickel ... Mais ... lol

Toujours dans mes délires 🙃, j'y reviens pour une amélioration ... Peut-être, car vraiment pas sûr que ce soit possible !😛

Excel permet en double clic sur une cellule d'intercaler ou d'ajouter 1 ou plusieurs lignes dans le contenu de la cellule :

Est-il possible de faire la même chose dans le TexBox ?
Je remets le fichier en cas,
Avec mes remerciements,
Amicalement,
lionel 🙂🤣
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
332
Réponses
4
Affichages
320
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
801
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
385
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…