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. 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
    1. 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
    2. 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
    3. 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. Contributeur
        version Excel ??
        0
        1. Bonjour Michel

          Excel 2010

          Merci
          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. Merci pour tout Michel
              0