VBA selectionne tous les motifs d'une feuille

  • Initiateur de la discussion Initiateur de la discussion Pineurne
  • 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 !

Pineurne

XLDnaute Junior
Heyy

Voila j'ai un probleme, j'ai cherché sur internet je ne trouve pas comment faire.
Quelqu'un connait-il le code VBA qui permet de sélectionner tous les motifs (rectangles, lignes, triangles..) d'une feuille sans distinction? J'aimerais que ca ne selectionne pas les dessins par contre.

J'ai une autre question (J'ai trouvé une autre solution mais j'aimerais savoir si c'est possible). Peut-on utiliser la fonction Recherche dans un bouton classique?
 
Re : VBA selectionne tous les motifs d'une feuille

bonjour Pineure,

pour ton premier problème, voici une "piste" :
Code:
Sub test()
Dim message As String, curShape As Shape
For Each curShape In ActiveSheet.Shapes
    message = message & curShape.Name & " (" & TypeName(curShape) & "-" & curShape.Type & ")" & vbNewLine
Next curShape
MsgBox message
End Sub

ce code permet de lister toutes le formes de la feuille avec leur "type" (curShape.Type).
tu remarquera que leurs types varient (le .Type d'un rectangle n'est pas le même que celui d'une zone de texte).
par contre je ne vois pas ce que sont les "dessins"... si ils ont un .Type particulier, tu peux alors filtrer comme ça :
Code:
For Each curShape In ActiveSheet.Shapes
    If curShape.Type <> [I][COLOR=Red]noTypeDessin[/COLOR][/I] Then
       ...

a+
 
Re : VBA selectionne tous les motifs d'une feuille

Alors pas de problème quant à la suppression. Bien sur ca supprime aussi les boutons et dessins. Mon but est quand c'est un bouton ou une image, zioupla le programme ne doit rien faire
En fait les boutons seraient des Shape-8 et les images des Shape-13
J'ai essayé
Code:
If curShape.Type = "(Shape-8)" Then
Code:
If curShape.Type = Shape - 8 Then
Code:
If curShape.Type = "Shape-8" Then
Je me suis dit peut-etre en passant par le nom du bouton et des images
Code:
If TypeName(curShape) = "Button 1" Then
Rien n'y fait.

Je me suis dit qu'en utilisant l'enregistreur de macro opla je regarde le code pour selectionner et déselectionner, mais en fait il n'y a pas de déselection. Il n'y qu'une reselection, je sais pas si vous voyez ce que je veux dire...
 
- 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

  • Question Question
XL 2019 VBA
Réponses
10
Affichages
1 K
Réponses
26
Affichages
1 K
Retour