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

  • Initiateur de la discussion Initiateur de la discussion Etxezarreta
  • Date de début Date de début

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 !

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

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+
 
- 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
5
Affichages
511
Retour