Suppr cellule vide à gauche

Résolu
Bonjour,

J'aimerais supprimer des cellules vides d'un tableau et rabbatre les cellules non vides vers la gauche, vous comprendrez mieux avec l'exemple ci joint :

Soit par maccro ou à l'aide d'un bouton..

http://cjoint.com/?3HfkiPsnRfK

9 réponses

  1. Bonjour,

    Il y a t'il un début de macro ou autre que l'on puisse corriger ?
    0
    1. Personne aurait une astuce pour que ca fonctionne?
      0
      1. Modérateur
        Bonjour,

        Tu souhaites partir de ton premier tableau ou du second pour obtenir le troisième???
        0
        1. Je souhaiterais partir du 1er pour arriver au 3e...
          Le second tableau s'est ce que j'ai actuellement et qui ne me convient pas a cause des vides...
          0
          1. Modérateur
            Bon.
            tu traces un bouton (!!! Contrôle activex par contrôle de formulaire) sur ta feuille.
            Tu double clic dessus
            Copie/colle ce code :
            Private Sub CommandButton1_Click()
            Decale_A_Gauche
            End Sub

            Sub Decale_A_Gauche()
            Dim Col As Integer
            For Col = 7 To 2 Step -1
            If Cells(4, Col).Value = "NON" Then Range(Cells(4, Col), Cells(4, Col).Offset(5, 0)).Delete Shift:=xlToLeft
            If Cells(10, Col).Value = "B" Then Range(Cells(10, Col), Cells(10, Col).Offset(3, 0)).Delete Shift:=xlToLeft
            Next Col
            End Sub


            revient dans ta feuille et sort du mode création;
            Puis teste
            0
            1. d'accord ! Merci

              J'ai trouvé une alternative avec une formule matricielle qui fonctionne
              0
              1. Modérateur
                Et qu'elle est cette formule magique?
                0
            2. Voila en oubliant pas de valider en faisant Ctrl + MAJ +Enter :

              http://cjoint.com/?3HgpbQdr5Ui

              Bonne journée !
              0
              1. Modérateur
                Ok.
                Merci.
                Je la place ici cela peux servir à d'autres...
                =SIERREUR(INDEX($B$5:$G$5;;PETITE.VALEUR(SI($B$4:$G$4="OUI";COLONNE($B$4:$G$4)-1);COLONNE()-1));"")
                0
              2. Très bien,

                Les -1 à la fin de la formule correspondent au numéro de la premiere colonne (B) dans notre cas.
                -2 si colonne début à partir de C ....
                0