J'ai besoin de vos lumières sur un point.
J'ai une erreur qui apparait apparemment uniquement sur Excel 2007.
Pas de pb en ouvrant avec excel 2010.
Pour faire simple j'ai un formulaire à remplir par l'utilisateur. Un bouton le suit au fur et des clics de ce même utilisateur à l'aide du code suivant. (dans la feuille du formulaire)
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Shapes("Image 474").Top = ActiveCell.Top
Application.GoTo Reference:=Worksheets(ActiveSheet.Name).Range(ActiveCell.Address)
End Sub
Le formulaire est protégé de cette façon.(dans this workbook)
Code:
Private Sub Workbook_Open()
Worksheets("saisie MRP").Protect userinterfaceonly:=True, Password:="MDP"
End Sub
L'erreur est la suivante " la valeur tapée est en dehors des limites"
J'insiste pour dire que sous 2010 pas de pb apparament (peut être moins sensible)
Une idée ,
si tu fais un enregistrement de macro et que tu fais la déprotection manuellement tu auras le code exact qu'il te faut pour déprotéger ta feuille en version 2007.
une fois le code correct fais de nouveau un essai avec celui ci et toute les options que l'enregistreur de macro t'aura donner.
je n'ai plus office 2007 donc je ne peut tester qu'en 2010 désolé...
Si... non, déprotège ta feuille, lance l'enregistreur de macro, sélectionne ton image (en mode création), change une dimension et arrête l'enregistreur.
Va voir dans l'éditeur de VBA la formule magique.
Avec 2010,
j'obtiens :
Code:
Sub Macro1()
'
' Macro1 Macro
'
'
ActiveSheet.Unprotect
ActiveSheet.Shapes.Range(Array("Picture 2")).Select
Selection.ShapeRange.Height = 36.8503937008
End Sub
que je transforme en
Code:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
ActiveSheet.Shapes("Image 2").Top = R.Top
End Sub