Décaler vers la gauche ensemble de cellules de façon conditionnelle

gougouks Messages postés 9 Statut Membre -  
 gougouks -
Bonjour à tous,

Je sollicite votre aide car je ne maîtrise pas du tout VBA et que c'est surement grâce à VBA que mon problème sera résolu.

L'illustration de mon problème est le suivant:


Avant le second tableau, je demande le nombre de personne (il peut y en avoir au plus 2).
Ce que je veux est: Si la cellule B9 contient 1 (donc 1personne) alors:
--->Supprimer/masquer UNIQUEMENT les cellules C10 à C16 qui concernent la personne 2;
--->Décaler la plage de cellules D10:H16 vers la gauche (c'est à dire remplacer/prendre la place des cellules C10 à C16.
--->Garder la mise en forme de la plage de cellule à décaler.

Comme il y a des tableaux au-dessus et en dessous du tableau concerné par les modifications, une suppression de la colonne C n'est pas à envisager.

J'espère avoir été claire dans la description de mon problème.

Merci beaucoup par avance :D

2 réponses

  1. T3ch
     
    Si aucun "pro" du VBA ne te répond je te ferais un truc ce soir, même si c'est pas très orthodoxe :p (Je me débrouille mais c'est pas forcément très "propre" :p)
    0
    1. gougouks Messages postés 9 Statut Membre
       
      Se sera toujours mieux que rien :D
      0
  2. T3ch
     
    Désolé pas eu le temps hier, voici un fichier fonctionnel, le VBA est à adapter selon les tailles de tes tableau. (Je t'expliquerai comment faire si tu veux)

    https://we.tl/t-jUIigsSp05
    0
    1. T3ch
       
      La Feuil2 me sert de mémoire, il y'a moyen d'adapter là aussi si ça va pas...
      0
    2. gougouks
       
      Merci pour ton aide :D

      Juste pour être sure de bien comprendre:
      La première partie dit:
      Si la valeur en B9 = Nombre de personne est 1 alors ne pas mettre à jour.
      ___Par contre si B9 etait à 2 personnes et qu'il n'y a plus qu'1 personne alors sélectionner et couper la colonne Personne 2 pour la coller dans la Feuil2 sur la cellule B2.
      ___Sur la Feuil1, avancer d'une colonne la plage col1, col2, col3 et col4 en la sélectionnant et la collant sur sa nouvelle place Range("C10:F18")
      ___Sur la Feuil2, la cellule G2 prend la valeur 1

      Et l'inverse pour le deuxième if:
      On part de 1 personne et finalement il a 2 personnes alors on doit insérer la colonne Personne 2 et décaler la plage de cellules col1, col2, col3 et col4 vers la droite en copiant et collant la cellule sur la nouvelle place voulue.

      Ai-je bien tout compris?
      0
    3. T3chN0g3n Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   1 217
       
      Tu as compris l'idée, c'est vrais que je n'ai pas pris le temps de commenter. Je fait une mémoire pour ne pas ré-exécuter la macro si on sélectionne le même nombre deux fois de suite.
      Voici le fichier avec le code commenté
      https://we.tl/t-dbt3HpmvxQ
      0
    4. gougouks
       
      Merci beaucoup pour ta précieuse aide :)
      0