Copie et transfert de la valeur des cellules d'un tableau vers un autre tableau

Anonyme
2018-12-21T14:09:10+00:00

Bonjour,

J’ai transformé les grilles des pages « Concours » et « Finale » en tableau. Cela m’amène une plus grande souplesse d’utilisation. Maintenant, il me suffit de rentrer un numéro dans la cellule de la colonne « B » libre suivante, pour créer une ligne tout en gardant toute la programmation qui va avec. Exemple : dépassement des valeurs, le match nul interdit …

La ligne 5 contenant les titres des colonnes du tableau est masquée. Les colonnes « R, S, T, U et V » aussi sont aussi masquées.

Dans l’exemple, à l’issue des 3 parties, un classement a été effectué par l’intermédiaire du bouton « Classement ». Ensuite, les valeurs des cellules « B6 : C13 » sont transférées dans les cellules « J7 : K14 » de la feuille « Finale » par le bouton « Qualifié Finale ».

Il reste à copier le reste des équipes(N° et Equipes). La liste démarre à partir de la neuvième ligne du tableau (quatorzième ligne), ça c’est le point de départ qui ne change jamais, jusqu’à C « aléatoire ». Aujourd’hui, il y a 16 équipes, demain, il y aura peut-être 40 …et ça c’est la valeur inconnue.

Ma question est de savoir comment copier la valeur des cellules des colonnes « B et C » de la feuille « Concours » puis de les coller dans les cellules des colonnes « B et C » de la feuille « Repechage et trier la colonne « B » en ordre croissant.

Je pourrai faire manuellement un copier/coller et le transférer dans la feuille « Repechage » dans la cellule « B6 » et classer la colonne « B ».

Maintenant, est-ce qu’un code pourrait remplacer cette dernière action ?

Merci pour ton aide.

Cordialement

https://1drv.ms/x/s!Avq7hyE1Ux3Mkn61aCQQYrcJBX5h

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la communauté de support Microsoft. Vous pouvez voter pour savoir si c’est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ou suivre la question.

0 commentaires Aucun commentaire

110 réponses

Trier par : Le plus utile
  1. DanielCo 107.7K Points de réputation
    2018-12-23T15:02:41+00:00

    Avec les mises en forme, la première macro devient donc :

    Sub test()

      Dim C As Range, Plage As Range

      With Sheets("Concours")

        Set Plage = .Range("B14", .Cells(.Rows.Count, 2).End(xlUp)).Resize(, 2)

      End With

      Application.EnableEvents = False

      With Sheets("Repechage")

        .Unprotect

        Plage.Copy

        .[B6].PasteSpecial xlPasteValues

        .[B6].Resize(Plage.Rows.Count, 2).Sort .[B6], xlAscending, Header:=xlNo

        .[B6].Resize(Plage.Rows.Count, 16).Borders.LineStyle = xlContinuous

        .[B6].Resize(Plage.Rows.Count, 16).Interior.ColorIndex = xlNone

        .[B6].Resize(Plage.Rows.Count, 16).FormatConditions.Delete

        .Protect

      End With

      Application.EnableEvents = True

    End Sub

    La suppression :

    Sub test1()

      Application.EnableEvents = False

      With Sheets("Repechage")

        .Unprotect

        .Range(.[B6], .Cells(.Rows.Count, 2).End(xlUp)).Resize(, 16).Clear

        With .ListObjects("Tableau2")

          For i = .ListRows.Count To 1 Step -1

            .ListRows(i).Delete

          Next i

        End With

        .Protect

      End With

      Application.EnableEvents = True

    End Sub

    On peut inclure la suppression dans la procédure de copie.

    Daniel

    Cette réponse vous a-t-elle été utile?

    0 commentaires Aucun commentaire
  2. Anonyme
    2018-12-23T14:20:24+00:00

    si tu peux le supprimer c'est bien.

    Est-ce que l'on peut mettre une macro sur un bouton pour supprimes ces ligne pour la prochaine sélection.

    Merci

    Cette réponse vous a-t-elle été utile?

    0 commentaires Aucun commentaire
  3. DanielCo 107.7K Points de réputation
    2018-12-23T14:03:12+00:00

    Pas de problème pour le quadrillage. Pour le grisé (que je vois bleuté en E6:Fx ?) il s'agit d'une règle de mise en forme conditionnelle. Que faut-il faire ?

    Daniel

    Cette réponse vous a-t-elle été utile?

    0 commentaires Aucun commentaire
  4. Anonyme
    2018-12-23T13:04:18+00:00

    bonjour,

    cela fonctionne bien. Est-ce qu'il est possible de mettre les bordures sur les cellules des lignes "D:Q" de la feuille "Repechage" et supprimer la partie grisée.

    Merci pour ton aide.

    Cordialement

    Cette réponse vous a-t-elle été utile?

    0 commentaires Aucun commentaire
  5. DanielCo 107.7K Points de réputation
    2018-12-23T12:08:02+00:00

    Bonjour,

    Ajoute ce code :

    Sub test()

      Dim C As Range, Plage As Range

      With Sheets("Concours")

        Set Plage = .Range("B14", .Cells(.Rows.Count, 2).End(xlUp)).Resize(, 2)

      End With

      Application.EnableEvents = False

      With Sheets("Repechage")

        .Unprotect

        Plage.Copy

        .[B6].PasteSpecial xlPasteValues

        .[B6].Resize(Plage.Rows.Count, 2).Sort .[B6], xlAscending, Header:=xlNo

        .[B6].Resize(Plage.Rows.Count, 2).Borders.LineStyle = xlContinuous

        .Protect

      End With

      Application.EnableEvents = True

    End Sub

    Cordialement.

    Daniel

    Cette réponse vous a-t-elle été utile?

    0 commentaires Aucun commentaire