Deplacement ligne excel

Résolu
Bonjour à tous,

Est-il possible "déplacer" une ligne (Ex : A2:F2) sur une autre feuille de calcul lorsque et uniquement lorsqu'une cellule de cette ligne (Ex : C2) est renseignée ?

D'avance merci

8 réponses

  1. Merci pour tout Michel
    0
    1. Contributeur
      Bonjour

      Activer les macros:
      rond office- -options Excel
      1/standard
      cocher " onglet développeur dans ruban "
      2/gestion confidentialité- paramètres centre gestion-confidentialité
      Activer toutes les macros (il n'y a plus de risques en 2014...)

      installer la macro

      1/faire un copier de la macro dans la maquette*dans le classeur
      Alt+F11
      Insertion -module
      Coller la macro

      2/Dans la feuille concernée
      ruban développeur
      mode création
      contrôle formulaire- bouton
      Affecter à la macro

      0
      1. Bonjour Michel

        Excel 2010

        Merci
        0
        1. Contributeur
          version Excel ??
          0
          1. Merci Michel,

            Mon ignorance excel ne me permets pas de créer cette macro.

            Peux tu m'expliquer comment la créer ?

            Merci
            0
            1. Michel,

              Sur la feuille de destination, il faut mettre A2:F2 également en A2:F2

              environ 400 lignes sur la feuille source
              0
              1. Contributeur
                Proposition avec VBA

                Les lignes avec dates en colonne C sont supprimées mais il est facile de modifier pour les garder vides
                Option Explicit
                '-----
                Sub deplacer_si_dateC()
                Dim Derlig As Long, T_lig, Lig As Integer

                Application.ScreenUpdating = False
                With Sheets(1)
                Derlig = .Columns("C").Find("*", , , , , xlPrevious).Row
                For Lig = 2 To Derlig
                If IsDate(.Cells(Lig, "C")) Then
                T_lig = .Range(.Cells(Lig, "A"), .Cells(Lig, "F"))
                Sheets(2).Cells(Lig, "A").Resize(1, 6) = T_lig
                .Cells(Lig, "C") = ""
                End If
                Next

                On Error GoTo vide
                .Range("C2:C" & Derlig).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
                End With
                Sheets(2).Activate
                Exit Sub

                vide:
                MsgBox "aucune date dans colonne C", vbCritical
                End Sub
                0
            2. Bonjour michel,

              Bien reçu pour les majuscules ;)

              Pour répondre a tes questions, A2:F2 devront se déplacer dans un autre onglet de ce même classeur.

              Ce serait valable pour l'ensemble des lignes dont la cellule C2, C3, C4 ect serait renseignée par une date de cloture.

              Encore merci
              0
              1. Contributeur
                Bonjour

                Pour répondre a tes questions, A2:F2 devront se déplacer dans un autre onglet de ce même classeur.

                ????

                la question était:
                Et où faut il mettre A2:F2 sur la feuille de destination ?
                départ en A2, B8,IX45... ?

                Combien de lignes environ sur la feuille source ?
                0
            3. Contributeur
              Bonjour,

              Et où faut il mettre A2:F2 sur la feuille de destination ?

              est ce valable sur une seule ligne (A2:F2) ou d'autres lignes au choix de l'utilisateur ?

              solution probable par macro...

              Remarque: dans les forums, évite d'écrire en majuscules, ce qui signifie que tu es en colère...
              Michel
              0