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

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...

sylvanu

XLDnaute Barbatruc
Supporter XLD
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.
 

Discussions similaires

Réponses
33
Affichages
1 K
Réponses
3
Affichages
829
Réponses
1
Affichages
444
  • Question Question
Microsoft 365 créer un macro vba
Réponses
0
Affichages
359
Réponses
16
Affichages
2 K
Réponses
11
Affichages
737

Statistiques des forums

Discussions
315 297
Messages
2 118 173
Membres
113 446
dernier inscrit
mathilde1876