problème avec l'aide en vba

Hervé

XLDnaute Barbatruc
Bonjour tout le monde

question à 10 centimes d'euro

il m'arrive parfois lorsque je recherche de l'aide en vba (F1), de recevoir ce message :

Élément de langage masqué
Vous avez demandé de l'aide pour un élément de langage qui est masqué et auquel vous ne pouvez, par conséquent, accéder par programmation.


En l'occurence là je voulais de l'aide sur DrawingObjects

comment se fait-il que je n'ai pas acces à une partit de l'aide ?

Dois-je installer quelque chose ou cocher une quelconque option ?

je suis sur excel2002.

je vous rassure, ca ne me réveille pas encore la nuit :)

salut
 

porcinet82

XLDnaute Barbatruc
Salut Hervé,

Je me permet de poster ici pour tout d'abord te dire félicitation pour tes 3000 posts.

De plus, je viens de tenter l'expérience, et lkorsque je fais F1 sur DrawingObjects, il me met comme message ca :
Les objets masqués dans le modèle d'objet de Visual Basic pour Microsoft Excel 97 sont listés dans le tableau suivant. Ces objets ne sont pris en charge que pour assurer une compatibilité descendante. Si vous écrivez du nouveau code, utilisez les nouvelles fonctionnalités proposées par Microsoft Excel 97. Pour afficher les objets masqués dans l'Explorateur d'objets, cliquez avec le bouton droit de la souris dans la fenêtre Explorateur d'objets puis cliquez sur Afficher les membres masqués dans le menu contextuel.

Avec des liens en dessou, dont ce que tu cherchais, je te joint donc l'aide :
Utilisation de formes (objets dessinés)

Les formes, ou objets dessinés, sont représentées par trois types d'objets différents : la collection Shapes, la collection ShapeRange et l'objet Shape. La collection Shapes vous permet de créer des formes et d'exécuter une boucle sur toutes les formes d'une feuille de calcul donnée. L'objet Shape est utile pour modifier ou mettre en forme une seule forme. Enfin, la collection ShapeRange permet de modifier plusieurs formes, de la même façon que vous travaillez sur plusieurs formes au moyen de l'interface utilisateur.

Définition des propriétés d'une forme

De nombreuses propriétés de mise en forme de forme ne sont pas définies par des propriétés qui s'appliquent directement à l'objet Shape ou ShapeRange. Des attributs de forme sont regroupés dans des objets secondaires tels que l'objet FillFormat contenant toutes les propriétés liées au remplissage de la forme, ou tels que l'objet LinkFormat contenant toutes les propriétés réservées aux objets OLE liés. Pour définir les propriétés d'une forme, vous devez d'abord renvoyer l'objet représentant l'ensemble des attributs liés à la forme puis en définir les propriétés. Par exemple, utilisez la propriété Fill pour renvoyer l'objet FillFormat puis définissez la propriété ForeColor de l'objet FillFormat pour définir la couleur de remplissage de premier plan de la forme spécifiée, comme indiqué dans l'exemple suivant.

Worksheets(1).Shapes(1).Fill.ForeColor.RGB = RGB(255, 0, 0)Application d'une propriété ou méthode à plusieurs formes simultanément

L'interface utilisateur vous permet de réaliser certaines opérations sur une sélection de plusieurs formes. Par exemple, vous pouvez sélectionner plusieurs formes et définir leurs remplissages individuels en une seule opération. En revanche, d'autres opérations, comme la modification du texte dans une forme, ne sont possibles que sur une seule forme sélectionnée.

Visual Basic vous propose deux façons d'appliquer des propriétés et des méthodes à un ensemble de formes. Toutes deux vous permettent d'effectuer toutes les opérations possibles sur une seule forme dans une plage de formes, que cette opération soit réalisable ou non au moyen de l'interface utilisateur.

Si l'opération est possible sur une sélection de plusieurs formes au moyen de l'interface utilisateur, vous pouvez la réaliser dans Visual Basic en créant une collection ShapeRange contenant les formes sur lesquelles vous voulez travailler puis en appliquant les propriétés et méthodes appropriées directement à la collection ShapeRange.


Si l'opération n'est pas possible sur une sélection de plusieurs formes au moyen de l'interface utilisateur, vous pouvez néanmoins la réaliser avec Visual Basic en exécutant une boucle sur la collection Shapes ou sur une collection ShapeRange contenant les formes sur lesquelles vous voulez travailler puis en appliquant les propriétés et méthodes appropriées à chacun des objets Shape de la collection.
De nombreuses propriétés et méthodes applicables à l'objet Shape et à la collection ShapeRange échouent lorsqu'il s'agit de certains types de formes. Par exemple, la propriété TextFrame échoue lorsqu'elle s'applique à une forme qui ne peut contenir de texte. Si vous n'êtes pas sûr que chacune des formes d'une collection ShapeRange peut se voir appliquer une propriété ou une méthode, n'appliquez pas celle-ci à la collection ShapeRange. Si vous voulez appliquer l'une de ces propriétés ou méthodes à une collection de formes, vous devez exécuter une boucle sur toute la collection et tester chaque forme pour vérifier que son type peut se voir appliquer la propriété ou la méthode.

Création d'une collection ShapeRange contenant toutes les formes d'une feuille

Vous pouvez créer un objet ShapeRange contenant tous les objets Shape d'une feuille en sélectionnant les formes puis en utilisant la propriété ShapeRange pour renvoyer un objet ShapeRange contenant les formes sélectionnées.

Worksheets(1).Shapes.Select
Set sr = Selection.ShapeRangeDans Microsoft Excel, l'argument Index n'est pas facultatif pour la propriété Range de la collection Shapes ; vous ne pouvez donc pas utiliser cette propriété sans argument pour créer un objet ShapeRange contenant toutes les formes d'une collection Shapes.

Application d'une propriété ou d'une méthode à une collection ShapeRange

Si vous pouvez réaliser une opération sur une sélection de plusieurs formes, en une seule fois au moyen de l'interface utilisateur, vous pouvez écrire le code équivalent en créant une collection ShapeRange puis en lui appliquant les propriétés ou méthodes appropriées. L'exemple suivant montre comment créer une plage de formes contenant les formes nommées « Big Star » et « Little Star » dans myDocument et comment leur appliquer un remplissage dégradé.

Set myDocument = Worksheets(1)
Set myRange = myDocument.Shapes.Range(Array('Big Star', _
'Little Star'))
myRange.Fill.PresetGradient _
msoGradientHorizontal, 1, msoGradientBrassVoici quelques indications générales sur le comportement des propriétés et des méthodes appliquées à une collection ShapeRange.

Appliquer une méthode à une collection revient à appliquer la méthode à chaque objet Shape de cette collection.


Affecter une valeur à la propriété d'une collection revient à affecter cette valeur à la propriété de chaque forme de cette plage.


Une propriété de cette collection renvoyant une constante renvoie la valeur de la propriété d'une forme de la collection si toutes les formes de la collection possèdent la même valeur pour cette propriété. Si tel n'est pas le cas, la propriété renvoie la constante « mixed ».


Une propriété de la collection renvoyant un type de donnée tel que Long, Single ou String renvoie la valeur de la propriété d'une seule forme si toutes les formes de la collection ont la même valeur pour cette propriété.


La valeur de certaines propriétés ne peut être renvoyée ou définie que s'il n'y a qu'une forme dans la collection. S'il y en a plusieurs, une erreur d'exécution survient. Cela arrive généralement lors du renvoi ou de la définition des propriétés lorsque l'action équivalente effectuée au moyen de l'interface utilisateur n'est possible que sur une seule forme (par exemple, la modification du texte d'une forme ou des points d'une forme libre).
Les recommandations ci-dessus s'appliquent aussi à la définition des propriétés de formes regroupées dans des objets secondaires de la collection ShapeRange, tels que l'objet FillFormat. Si l'objet secondaire représente des opérations pouvant être exécutées sur une sélection de plusieurs objets au moyen de l'interface utilisateur, vous pouvez renvoyer l'objet à partir d'une collection ShapeRange et définir ses propriétés. Par exemple, utilisez la propriété Fill pour renvoyer l'objet FillFormat représentant les remplissages de toutes les formes de la collection ShapeRange. Définir les propriétés de cet objet FillFormat définira les mêmes propriétés pour toutes les formes de la collection ShapeRange.

Boucle sur une collection Shapes ou ShapeRange

Même lorsqu'il est impossible, au moyen de l'interface utilisateur, de réaliser une opération sur plusieurs formes en une seule fois en sélectionnant celles-ci puis en sélectionnant une commande, vous pouvez effectuer l'équivalent par programmation en exécutant une boucle sur une collection Shapes ou ShapeRange contenant les formes sur lesquelles vous voulez travailler puis en appliquant les propriétés et méthodes appropriées aux objets Shape de la collection. L'exemple suivant montre comment exécuter une boucle sur toutes les formes de monDocument puis comment changer la couleur de premier plan de chaque forme du type Forme automatique.

Set myDocument = Worksheets(1)
For Each sh In myDocument.Shapes
If sh.Type = msoAutoShape Then
sh.Fill.ForeColor.RGB = RGB(255, 0, 0)
End If
NextL'exemple suivant montre comment créer une collection ShapeRange contenant toutes les formes actuellement sélectionnées dans la fenêtre active puis comment définir la couleur de premier plan de chaque forme sélectionnée.

For Each sh in ActiveWindow.Selection.ShapeRange
sh.Fill.ForeColor.RGB = RGB(255, 0, 0)
NextAlignement, répartition et regroupement de formes dans une plage de formes

Utilisez les méthodes Align et Distribute pour placer un ensemble de formes les unes par rapport aux autres ou par rapport au document les contenant. Utilisez la méthode Group ou la méthode Regroup pour créer une seule forme groupée à partir d'un ensemble de formes.

J'espère t'avoir rendu service.

@+
 

PAD

XLDnaute Occasionnel
Bonjour Hervé,

Je ne sais pas si depuis la version 2000 que j'ai et qui donne ça comme définition :

Propriétés et méthodes masquées

Les propriétés masquées pour les objets visibles de Microsoft Office 2000 sont répertoriées dans le tableau suivant. Aucune méthode n'a été masquée. La plupart des propriétés masquées ont été remplacées par de nouvelles fonctionnalités dans Excel. Ces propriétés ne sont prises en charge que pour assurer la compatibilité amont. Si vous devez écrire du nouveau code, utilisez les fonctionnalités de remplacement proposées dans Microsoft Excel 2000.


Notre cher Billon n'a pas caché certaines fonctions.

A+ PAD
 

Statistiques des forums

Discussions
312 327
Messages
2 087 314
Membres
103 515
dernier inscrit
Cherbil12345