Décalage checkbox (printout avec macro)

Bonjour,

il y a des macros qui me font tourner en bourrique.....

je précise toutes ces macros fonctionnaient parfaitement sur office 2003.
je précise aussi dans format de controle j'ai coché cette option: ne pas déplacer ou redimmentionner avec les cellules
maintenant que je suis sur office 2010, lorsque je lance les macros d'impression
a partir d'un autre tableau
en utilisant un code comme ceci:
Application.Run "'BV CHILLY-MAZARIN.xlsm'!print"

et dans cette macro il y a:
With Worksheets("bv recto")

.OLEObjects("checkbox4").Activate
.OLEObjects("checkbox4").Object.Value = True
.OLEObjects("checkbox4").PrintObject = True
.OLEObjects("checkbox6").Activate
.OLEObjects("checkbox6").Object.Value = True
.OLEObjects("checkbox6").PrintObject = True
End With

Dim strValidationRange As String
Dim rngValidation As Range
Dim rngDepartment As Range

Application.ScreenUpdating = True

Range("k:k").Select
Set rngValidation = Range("d71").End(xlDown).Offset(0, 9)
With Range("A350.").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=" & rngValidation.Address
' Set the value in the selection cell to each selection in turn
' and print the results.
For Each rngDepartment In rngValidation.Cells
Range("A350.").Value = rngDepartment.Value
Range("A2:H66").Select
Selection.PrintOut
Next
Range("A12:H15").Select
Application.ScreenUpdating = True
End With

With Worksheets("bv recto")

.OLEObjects("checkbox4").Object.Value = False

.OLEObjects("checkbox6").Object.Value = False

End With
______________________________________________________

je ne comprends pas à chaque fois les checkbox se déplacent!!

3 réponses

  1. Contributeur
    Bonjour,
    Effectivement ça ne fonctionne plus de la même façon...
    essaye,
    With ActiveSheet.CheckBox1
    .Value = False
    .PrintObject = False
    .Placement = xlFreeFloating 'fixe =3
    .Placement = xlMove 'libre =2
    End With
    A adapter à ton contexte bien évidemment
    A+
    1. Bonjour,

      quel est le bon code?

      .Placement = xlFreeFloating 'fixe =3

      ou ce code?

      .Placement = xlMove 'libre =2

      je ne comprends pas.j'ai essayé le
      xlFreeFloating et le xlMove

      et rien à faire les checkbox se déplacent.
      j'ai l'impression que ça se produit avec ce code:
      Application.Run "'BV CHILLY-MAZARIN.xlsm'!print"
      l'écran bouge et les checkbox se déplacent
      1. Contributeur
        D'après ce que tu dis, le nom de la macro est "Print", Print est un nom réservé, essaye en changeant le nom de la macro.