XL 2016 Créer une forme depuis plage sélectionnée

Etxezarreta

XLDnaute Nouveau
Bonjour,
Je souhaite créer une forme:
- je sélectionne une ligne dans une feuille avec msgbox
- la sélection est mise sous forme de variable tableau et transposée
- on crée une shape avec .addshape
- chaque valeur de la ligne sélectionnée s'inscrit dans la forme, avec un renvoi à la ligne entre deux valeurs

J'ai crée les variables tableaux et la forme, mais je fais du sur-place pour la suite.
Merci de vos suggestions!
Etxe.
 

Pièces jointes

  • EssaiCreationTextBoxTexteAlaLigne.xlsm
    18.3 KB · Affichages: 8

Paf

XLDnaute Barbatruc
Bonjour,

Ah !! voila des noms de variables qui précisent bien ce qu'elles représentent !!

Mais ... ne facilitent pas la lecture du code ...

un essai en deux étapes :
initialisation d'une variable avec le contenu du tableau transposé (le tableau non transposé aurait fait l'affaire en utilisant les indices à l'inverse)
création de la form avec "collage" de la variable précédente et mise en forme:


VB:
'*** initialisation variable texte
   For i = LBound(arrTransposeEnregistrementsSelectionnes, 2) To UBound(arrTransposeEnregistrementsSelectionnes, 2)
        For intNumDeLifneDeLarray = LBound(arrTransposeEnregistrementsSelectionnes, 1) To UBound(arrTransposeEnregistrementsSelectionnes, 1)
            MonText = MonText & arrTransposeEnregistrementsSelectionnes(intNumDeLifneDeLarray, i) & vbLf
        Next intNumDeLifneDeLarray
    Next
'** création form
    With ActiveSheet.Shapes.AddShape(msoTextOrientationHorizontal, 242.5, 70.5, 198, 84)
        .Name = "toto" & intNumeroIncrementeDeForme
        .TextFrame.Characters.Text = MonText
        .Fill.BackColor.SchemeColor = 17
        .Fill.ForeColor.RGB = RGB(0, 128, 128)
        .Height = UBound(arrTransposeEnregistrementsSelectionnes, 2) * UBound(arrTransposeEnregistrementsSelectionnes, 1) * .TextFrame.Characters.Font.Size * 2
    End With

A+
 

Discussions similaires

Réponses
8
Affichages
396

Statistiques des forums

Discussions
311 724
Messages
2 081 938
Membres
101 844
dernier inscrit
pktla