Case à cocher : Copier-Coller = décalage de la case collée

Résolu
Bertellus -  
Froulik Messages postés 4292 Statut Membre -
Bonjour,

J'utilise Excel 2010 et j'ai rencontré un problème :

J'ai une case à cocher dans une cellule fusionnée. La case à cocher est entièrement incluse dans la cellule. L'option : "Déplacer et dimensionner avec les cellules" est activée.

Je copie cette case, je change de feuille et je la colle dans une cellule de même taille (fusionnée, même nombre de cellules, même largeurs de colonne et de ligne).

Le résultat : une case à cocher apparaît mais pas DANS la cellule: elle apparaît en dessous, à cheval entre la cellule-cible et la cellule en dessous.

Voulant cette fonction dans une macro, j'ai testé 4 fois la même macro et j'ai obtenu à chaque une position différente (cyclique : elle se décale vers le bas, se met correctement, se décale vers le haut, se décale vers le bas...)

Comment faire pour que la case à cochée reste parfaitement à sa place ?

Merci de votre aide :)

4 réponses

  1. Froulik Messages postés 4292 Statut Membre 954
     
    je ne suis pas un spécialiste, mais tu as essayé en sélectionnant ton objet "case à cocher"
    clic droit
    format de contrôle
    propriétés
    positionnement de l'objet ?
    0
  2. Bertellus
     
    Je précise que le problème semble survenir car ma macro contient des insertions de lignes avant le copier-coller de la case à cocher. Sur une feuille test, la case à cocher se met correctement à chaque fois.

    La macro copie une zone "stock" pour la coller dans une feuille pour l'imprimer. J'insère donc les cellules sans les cases puis les cases dans les cellules-cibles.

    A chaque itération de la macro, c'est là que la case à cocher se décale
    0
    1. Froulik Messages postés 4292 Statut Membre 954
       
      ouaip. donc ce que je t'ai proposé ne fonctionnera sans doute pas
      désolé
      0
    2. Bertellus
       
      C'est moi qui le suis. j'ai pas tout préciser dès le début. Désolé.
      J'ai déjà fouillé partout dans le VBA, dans les propriétés de l'objet, dans le format de contrôle et rien n'y fait, j'ai toujours ce décalage qui se fait.
      0
  3. Bertellus
     
    Des morceaux de mon code VBA peuvent peut-être aider à résoudre mon problème: voici la partie concernée (le reste marche sans soucis):

    Sheets("XXXX").Select
    Rows("19:22").Copy
    Sheets("YYYY").Select
    Rows("10:10").Select
    Selection.Insert Shift:=x1Down

    Sheets("XXXX").Select
    ActiveSheet.Shapes.Range(Array("Checkbox1")).Select
    Selection.Copy
    Sheets("YYYY").Select
    Range("A20:D21").Select
    ActiveSheet.Paste
    0
  4. Bertellus Messages postés 6 Statut Membre
     
    Bon, pour ceux qui serait dans la même situation que moi, voici une solution alternative:

    Au lieu d'utiliser un contrôle ActiveX, j'ai utilisé une case à cocher de formulaire. J'avais à peu près tout essayer sauf ça. Cela fonctionne désormais correctement.

    L'activation d'un ActiveX dans les macros est préférable généralement, mais du coup, pas besoin de copier-coller la case à cocher, cela se fait automatiquement (sans le mode création) en même temps que la cellule dans laquelle elle se trouve.

    90% des problèmes informatiques se trouvent entre la chaise et l'écran ... et j'ai honte de confirmer, n'ayant pas penser à la solution de remplacement la plus simple... :'(
    0
    1. Froulik Messages postés 4292 Statut Membre 954
       
      honte ? peut-être, mais ce manque de réflexion (tout relatif) t'a permis de progresser dans tes connaissances, non ? alors c'est tout bon :o))
      0