XL 2016 Copier des cellules suivant une condition

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Bonsoir Robert,

tu as très bien décrit ta demande, bravo ! 👍 🙂

sur "Feuil2", les colonnes H:J sont vides ; va sur "Feuil1", et fais Ctrl e 😊

VB:
Option Explicit: Option Compare Text 'comparaison Text => majuscules ou minuscules : idem

Sub Essai()
  If ActiveSheet.Name <> "Feuil1" Then Exit Sub 'on doit lancer la macro à partir de "Feuil1"
  Dim nlm&, dlg&: nlm = Rows.Count 'nlm : nombre de lignes maximum = 1048576
  dlg = Cells(nlm, "B").End(xlUp).Row 'dlg : dernière ligne, selon la colonne B (ici : 7)
  If dlg = 1 And IsEmpty([A1]) Then Exit Sub 'si y'a aucune donnée, on quitte la sub !
  Dim T, eqp$, n1&, n2&, lig&, i&
  T = [B1].Resize(dlg, 4) 'les données de B1:E7 sont mises dans le tableau T
  Worksheets("Feuil2").Select 'on va sur "Feuil2" pour y travailler, puis montrer les résultats
  n1 = Cells(nlm, "A").End(xlUp).Row 'n1 : dernière ligne, selon la colonne A (ici : 7 aussi)
  If n1 = 1 Or IsEmpty([A1]) Then Exit Sub 'si y'a aucune donnée, on quitte la sub !
  Application.ScreenUpdating = False 'désactive la mise à jour écran => exécution plus rapide
  Columns("H:J").ClearContents 'on efface les éventuels anciens résulats (des colonnes H:J)
  n2 = Cells(nlm, "H").End(xlUp).Row 'n2 : dernière ligne, selon la colonne H
  For lig = 1 To n1
    With Cells(lig, "B") 'avec la colonne B des noms d'équipe
      eqp = .Value 'nom de l'équipe
      If eqp <> "" Then
        For i = 1 To dlg 'boucle de 1 à dlg, pour balayer les lignes du tableau T
          If eqp = T(i, 1) Or eqp = T(i, 2) Then 'si l'équipe est trouvée, on écrit le résultat
            .Offset(, 6) = eqp      'colonne H : nom de l'équipe
            .Offset(, 7) = T(i, 3)  'colonne I : score n° 1
            .Offset(, 8) = T(i, 4)  'colonne J : score n° 2
          End If
        Next i
      End If
    End With
  Next lig
End Sub

si besoin, tu peux demander une adaptation.
à te lire pour avoir ton avis. 😉

soan
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
176
Réponses
4
Affichages
381
Réponses
5
Affichages
200
Réponses
4
Affichages
149
Retour