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

Grouper / Dissocier les images

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 !

thomasly@neuf.fr

XLDnaute Nouveau
Bonsoir,



Dans une feuille, j'ai inséré un certain nombres d'images portant les noms suivants : Image_1, Image_2 ...etc ...

Comment faire pour sélectionner toutes les images pour grouper en vba ?



Merci d'avance de vos réponses

@+
 
Re : Grouper / Dissocier les images

Bonsoir Kjin,



J'essai de t'expliquer ce que je fais:

Sur une feuille, j'ai inséré des images par la commande : Insertion + Image + Depuis un fichier ...

Pour grouper, je fais manuellement en sélectionnant la 1ère image, puis la 2ème image en maintenant la touche Ctrl + clic sur l'image ...etc ...

Quand j'ai fini, je fais clic-droit + Grouper pour rendre toutes les images en une seule.

Le but est de pouvoir les déplacer en une seule opération.

Je cherche donc à faire cette manipualtion avec du vba.

J'espère sue c'est plus claire


Merci
 
Re : Grouper / Dissocier les images

Bonjour à tous,

une autre solution, regroupera toutes les formes de ta feuille(forme automatique, forme libre, objet OLE ou une image) :

Code:
Feuil1.Shapes.SelectAll
Selection.Group

bonne journée
@+
 
Re : Grouper / Dissocier les images

Bonsoir


Oui : identifier le type de la shape qui est 13 pour un objet Image

Adapté d'un code de silkyroad (ne fonctionne pas chez moi sous Excel 2000 😕)

Code:
Sub GroupementShapes_Conditionnel()
    Dim Sh As Shape
    Dim Tableau() As String
    Dim i As Integer
    
    'Boucle sur les formes de la feuille active
    For Each Sh In ActiveSheet.Shapes
        'Vérifie si type de l'objet est Image
        If Sh.Type= 13 Then
            i = i + 1
            'Redéfinit la taille du tableau et intègre le nom de la forme.
            ReDim Preserve Tableau(1 To i)
            Tableau(i) = Sh.Name
        End If
    Next
    
    'On sort si le tableau est vide.
    If i = 0 Then Exit Sub
    
    'Regroupe les formes dont le nom se trouve dans le tableau
    Set Sh = ActiveSheet.Shapes.Range(Tableau).Group
    'Renomme le groupe.
    Sh.Name = "NomGroupe"
End Sub
 
Dernière édition:
Re : Grouper / Dissocier les images

Re

Re

Pourtant ce test fonctionne lui 😕😕

Code:
Sub test_ok()
    Dim Sh As Shape, t() As String, i As Long
    For Each Sh In ActiveSheet.Shapes
       If Sh.Type = msoPicture Then
            i = i + 1
            ReDim Preserve t(1 To i)
            t(i) = Sh.Name
        End If
    Next
    If i = 0 Then Exit Sub
Range("A1").Resize(UBound(t)) = Application.Transpose(t)
End Sub
 
Dernière édition:
Re : Grouper / Dissocier les images

Bonsoir kjin (et merci)


😱 (pardon)

Effectivement je n'y ai même pas pensé (car pensant d'emblée le code fonctionnel )

Donc il suffisait de:
Code:
Dim Tableau()
 
Dernière édition:
- 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

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