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

guy72

XLDnaute Impliqué
Bonjour,

Je fais un puzzle sur EXCEL en mettant une image par cellule, une fois fini, je déplace ces images pour les mettre n'importe ou dans ma feuille.

Ma question est :
Est-il possible avec une macro de les remettre automatiquement dans leur cellule ?

Exemple :

image 1 ----> cellule A1
image 2 ----> cellule B1
Etc......

Merci de votre aide
Cordialement
 
Re : Puzzle

Bonjour guy72
Regarde cet exemple. Le code est dans le code de la feuille.
Cordialement
.

Bonjour,
Ok j'ai compris le principe, j'ai fais des essais avec 10 images, ça fonctionne parce qu'elles sont à la taille de la cellule.
Par contre si mes images sont de taille différente, comment, je peux les positionner.
Cordialement
 

Pièces jointes

Re : Puzzle

Re
Evidemmnent, dans ces conditions.... 😀
Une autre idée en deux temps
Je pars du principe que pour le premier temps, il n'y a rien d'autre que des images sur l'onglet.
Tu range de façon parfaite tes morceaux, à l'emplacement que tu désire sur ton onglet (de façon parfaite)
Ensuite tu lances la macro Nomme_Images :
VB:
Private Sub Nomme_Images()
Dim Shp As Shape
    For Each Shp In ActiveSheet.Shapes
        Shp.Name = "I_" & Shp.Top & "_" & Shp.Left
    Next Shp
End Sub
Celle ci va nommer les images avec leurs coordonnées Top et Left.

Il ne faudra plus relancer cette macro par la suite, sous peine de voir les images se ranger ailleurs

Second temps
Pour re-ranger les images, après les avoirs mélangées: tu lance la macro Ranger :
VB:
Sub Ranger()
Dim Sh As Shape, Tmp As Variant
For Each Sh In ActiveSheet.Shapes
    If Sh.Name Like "I_*" Then
        Tmp = Split(Sh.Name, "_")
        Sh.Top = Tmp(1)
        Sh.Left = Tmp(2)
    End If
Next Shp
End Sub

Les images retrouveront les places qu'elles occupaient au moment de la macro Nomme_Images.

Pour faire un test, Alt+F8 et lance Ranger.
La macro Nomme_Images est en Private Sub pour éviter de la lancer par Alt+F8 ;-)

Cordialement
 

Pièces jointes

Dernière édition:
Re : Puzzle

Re
Dans le classeur que tu viens de joindre il suffit de faire Alt+F8 (tu appuis sur Alt et en même temps sur la touche F8), cela va ouvrir la boite de dialogue "Macro".
Dans la liste tu double clic sur "Feuil2.Nomme_Images"
Cordialement
 
Re : Puzzle

Re
La ligne est surlignée (c'est la première de la liste au dessus de Feuil2.Ranger

Regarde mon message précédent, il faut modifier une ligne
VB:
Next Shp
au lieu de
VB:
Next Sh

Ou alors, tu fait Alt+F11 tu clic dans nomme_Images et menu Execution / executersub/UserForm

Cordialement
 
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

Réponses
10
Affichages
409
Réponses
15
Affichages
459
Réponses
4
Affichages
821
Retour