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

Microsoft 365 Bulle : affichage à droite de la cellule cliquée

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous,
Je vous souhaite un beau WE

Je fais appel à nos ténors pour un affichage que je ne sais pas faire.
Est-il possible :

Mes tests et recherches sont infructueuses.
Auriez-vous le bon code ?

Je joins un p'tit fichier test,
Et je continue à chercher.
Un grand merci, encore une fois,
Amicalement,
lionel
 

Pièces jointes

  • bulle_position.xlsm
    20.9 KB · Affichages: 9
Solution
Bonjour Lionel, le forum,

Oui ce n'est pas très facile, il faut repérer l'adresse de la cellule active :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
With Shapes("Bulle narrative : rectangle à coins arrondis 1")
    If Intersect(ActiveCell, Range("a2:a6")) Is Nothing Then .Visible = False: Exit Sub
    .Left = ActiveCell.Offset(, 1).Left
    .Top = ActiveCell.Top
    .Visible = CStr([adresse]) <> ActiveCell.Address Or .Visible = False
    ThisWorkbook.Names.Add "adresse", ActiveCell.Address 'repérage
    Application.EnableEvents = False
    [a1].Select
    Application.EnableEvents = True
End With
End Sub
A+

Usine à gaz

XLDnaute Barbatruc
Re :
Il y a bien
VB:
ActiveSheet.Shapes("Bulle narrative : rectangle à coins arrondis 1").Top = 25
ActiveSheet.Shapes("Bulle narrative : rectangle à coins arrondis 1").Left = 65
Mais je ne sais pas faire à droite de la cellule cliquée,
 

JM27

XLDnaute Barbatruc
bonjour
et comme cela ?
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
    If Not Intersect(R, Range("a1:a6")) Is Nothing Then
        Application.EnableEvents = False
        If Sheets("Feuil1").Shapes("Bulle narrative : rectangle à coins arrondis 1").Visible = False Then
            Sheets("Feuil1").Shapes("Bulle narrative : rectangle à coins arrondis 1").Visible = True
            Sheets("Feuil1").Shapes("Bulle narrative : rectangle à coins arrondis 1").Top = ActiveCell.Top
            Sheets("Feuil1").Shapes("Bulle narrative : rectangle à coins arrondis 1").Left = ActiveCell.Left + ActiveCell.Width
            [a1].Select
            Application.EnableEvents = True
            Exit Sub
        Else
            Application.EnableEvents = False
            Sheets("Feuil1").Shapes("Bulle narrative : rectangle à coins arrondis 1").Visible = False
            [a1].Select
            Application.EnableEvents = True
            Exit Sub
        End If
    End If
End Sub
 

Pièces jointes

  • bulle_position.xlsm
    20 KB · Affichages: 7
Bonjour lionel, phil69970, JM27, le forum

Un exemple de placement !

Cordialement, @+
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A2:A6")) Is Nothing Then
    With ActiveSheet.Shapes("Bulle narrative : rectangle à coins arrondis 1")
        If Not .Top = Target.Top Then
            .Visible = True
            .Top = Target.Top
            .Left = Target.Left + Target.Width
        End If
    End With
End If
End Sub
 

job75

XLDnaute Barbatruc
Bonjour Lionel, le forum,

Oui ce n'est pas très facile, il faut repérer l'adresse de la cellule active :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
With Shapes("Bulle narrative : rectangle à coins arrondis 1")
    If Intersect(ActiveCell, Range("a2:a6")) Is Nothing Then .Visible = False: Exit Sub
    .Left = ActiveCell.Offset(, 1).Left
    .Top = ActiveCell.Top
    .Visible = CStr([adresse]) <> ActiveCell.Address Or .Visible = False
    ThisWorkbook.Names.Add "adresse", ActiveCell.Address 'repérage
    Application.EnableEvents = False
    [a1].Select
    Application.EnableEvents = True
End With
End Sub
A+
 

Pièces jointes

  • bulle_position.xlsm
    24.1 KB · Affichages: 11

Usine à gaz

XLDnaute Barbatruc
Re-Bonjour,

@ Gérard : nickel de chez nickel, merci
ton code a un supplément important : " ThisWorkbook.Names.Add "adresse", ActiveCell.Address 'repérage"

@ Bernard_XLD : J'ai pas réussi à faire fonctionner ton code mais j'ai besoin du code en "(ByVal R As Range)

Un grand merci, une fois de plus,
lionel
 

Collins

XLDnaute Occasionnel
Bonjour Usine à gaz, JM27, Bernard_XLD, Job75, le forum.

Je trouve intéressante cette macro pour ouvrir une zone texte en cliquant sur une cellule.
Je voudrai l'adapter à un de mes fichiers.
J'ai donc insérer une zone texte : Insertion/illustration/formes/zone de texte
J'ai mis un nom sur cette zone de texte
J'ai rajouté votre macro dans la page et j'ai voulu changer le nom dans With Shapes("Bulle narrative : rectangle à coins arrondis 1") au lieu de Bulle narrative : rectangle à coins arrondis 1 j'ai mis le nom de ma zone de texte.
Et ca ne marche pas.
Faut il garder Bulle narrative : rectangle à coins arrondis 1 comme nom.
Si vous pouviez m'expliquer un petit peu la procédure
Je vous remercie
Bonne après-midi

 

Usine à gaz

XLDnaute Barbatruc
Bonjour Collins
NON, c'est bien le nom de votre bulle qu'il faut mettre à la place de "Bulle narrative : rectangle à coins arrondis 1".

Mais attention, vous me parlez d'une "zone de texte" et le code est fait pour une "bulle" et une "bulle" n'est pas une zone de texte.
Cela me parait donc normal que ça ne fonctionne pas.

Créez un #post pour votre ""zone de texte".
Rappelez ce post en copiant le lien dans votre nouveau #post et joignez un fichier test "anonymisé"
@+,
lionel
 

Usine à gaz

XLDnaute Barbatruc
C'est facile :
Vous ouvrez le fichier qui a la bulle > cliquez droit sur le bord du haut > copier
ensuite allez dans votre fichier et cliquez droit > coller
vous pourrez facilement modifier et formater le texte à votre convenance en cliquant dedans
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…