XL 2013 déplacer objet dessin en fonction cellule

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

chindou

XLDnaute Occasionnel
Bonsoir, le forum et bonne année à toutes et à tous
je veux déplacer un objet dessin d'une cellule à une autre en fonction d'une date qui n'est pas toujours sur la même cellule
j'utilise le code suivant mais sans succès. j'ai un bug au niveau de la 5eme ligne
03-01-2023 20-48-36.png

VB:
Sub deplacer()
Dim cellule As Range
    For Each cellule In Range("B3:F331")
        If cellule = Range("date_fin") Then
                        With ActiveSheet.Shapes("etiq_1" & cellule)
                            .LockAspectRatio = msoFalse
                            .Left = cellule.Left
                            .Top = cellule.Top
                            .Width = cellule.Width
                            .Height = cellule.Height
                        End With
            End If
    Next
End Sub
Merci d'avance à vos aides
Cordialement
 
Solution
Bonsoir Chindou,
Sans fichier test on ne peut que supputer.
Essayez ce code :
VB:
Sub deplacer()
Dim cellule As Range
    For Each cellule In Range("B3:F331")
        If cellule = Range("date_fin") Then
            MsgBox "etiq_1" & cellule
            With ActiveSheet.Shapes("etiq_1" & cellule)
                .LockAspectRatio = msoFalse
                .Left = cellule.Left
                .Top = cellule.Top
                .Width = cellule.Width
                .Height = cellule.Height
            End With
        End If
    Next
End Sub
Le message devrait vous indiquer le nom de la feuille que vous voulez atteindre.
Est ce la cas ? ( attention aux espaces dans les noms de feuilles, cela crée souvent des soucis car on ne le voit...
Bonsoir Chindou,
Sans fichier test on ne peut que supputer.
Essayez ce code :
VB:
Sub deplacer()
Dim cellule As Range
    For Each cellule In Range("B3:F331")
        If cellule = Range("date_fin") Then
            MsgBox "etiq_1" & cellule
            With ActiveSheet.Shapes("etiq_1" & cellule)
                .LockAspectRatio = msoFalse
                .Left = cellule.Left
                .Top = cellule.Top
                .Width = cellule.Width
                .Height = cellule.Height
            End With
        End If
    Next
End Sub
Le message devrait vous indiquer le nom de la feuille que vous voulez atteindre.
Est ce la cas ? ( attention aux espaces dans les noms de feuilles, cela crée souvent des soucis car on ne le voit pas, mais le VBA les trouve ... )
Ou fournissez un petit fichier, ce sera plus simple.
 
- 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
1
Affichages
452
Réponses
0
Affichages
367
Réponses
16
Affichages
2 K
Retour