Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
J'ai dû faire une erreur en copiant le code. Voici le fichier :
https://1drv.ms/x/s!AqRP0RQrhNWW_CbOYEhqXBwBVDhu
Daniel
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
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
Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.
J'ai dû faire une erreur en copiant le code. Voici le fichier :
https://1drv.ms/x/s!AqRP0RQrhNWW_CbOYEhqXBwBVDhu
Daniel
il y a ces ligne de code qui sont en rouge :
.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _
Formula1:="="""""
Elles sont utilisées 2 fois
Je lis ton message juste après t'avoir répondu. Regarde si la macro fonctionne correctement.
Daniel
Bonjour,
Sub test()
Dim C As Range, Plage As Range, DL As Long
With Sheets("Concours")
Set Plage = .Range("B14", .Cells(.Rows.Count, 2).End(xlUp)).Resize(, 21)
End With
Application.EnableEvents = False
With Sheets("Repechage")
.Unprotect
Plage.Copy .[B6]
DL = .Cells(.Rows.Count, 2).End(xlUp).Row
.Range("B6", .Cells(DL, 3)).Sort .[B6], xlAscending, Header:=xlNo
.Range("B6", .Cells(DL, 2)).HorizontalAlignment = xlCenter
' .Range("B6", .Cells(DL, 2)).Interior.Color = 13434879
.Range("D6", .Cells(DL, "Q")).HorizontalAlignment = xlCenter
.Range("D6", .Cells(DL, "U")).ClearContents
.Range("M6", .Cells(DL, "V")).Locked = True
.Range("C6", .Cells(DL, "Q")).Interior.ColorIndex = xlNone
With .Range("B6", .Cells(DL, "Q"))
.Borders.LineStyle = xlContinuous
.FormatConditions.Delete
.VerticalAlignment = xlCenter
.Locked = False
End With
With Union(.Range("D6", .Cells(DL, 4)), .Range("G6", .Cells(DL, 7)), .Range("J6", .Cells(DL, 10)))
.FormatConditions.Delete
.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _
Formula1:="="""""
.FormatConditions(.FormatConditions.Count).SetFirstPriority
.FormatConditions(1).Interior.ColorIndex = 40
.FormatConditions(1).StopIfTrue = False
End With
'EF ; HI ; KL
With Union(.Range("E6", .Cells(DL, "F")), .Range("H6", .Cells(DL, "I")), .Range("K6", .Cells(DL, "L")))
.FormatConditions.Delete
.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="="""""
.FormatConditions(.FormatConditions.Count).SetFirstPriority
.FormatConditions(1).Interior.ColorIndex = 24
.FormatConditions(1).StopIfTrue = False
End With
.Protect
End With
Application.EnableEvents = True
End Sub
Daniel
bonjour Daniel,
avec le dernier mail, j'ai ajouté des lignes au tableau1. En appuyant sur le bouton "Repechage" de la feuille "Concours", on retrouve le même nombre de ligne copiées. J'ai réfléchis et je crois t'avoir dis une bêtise, à savoir, qu'on avait une valeur connue (8) et une inconnue (nombre de lignes à copiées indéterminées).
Je crois que cette inconnue ne l'est pas vraiment. En effet, à la fin des inscriptions, je sais exactement le nombre d'équipes inscrites. Ce sont les nombres inscrits en colonne "B". Maintenant, si je mets en "U2 = 20" (c'est le nombre total d'équipes inscrites sur ce tableau maintenant), et qu'en "V2"= "U2"- 8, j'obtiens le nombre de lignes à copiées dans la feuille "Repechage".
Et comme cette valeur n'est pas figée, peut-être faire une variable du style :
Dim nbLigneCopiees as Integer
nbLigneCopiees = Range("V2")
Comme ça, à chaque nouveau concours, je rentrerai le nombre d'équipes en "U2". Mais ça, cela n'engage que moi. Le pro, c'est toi.
Tout ça pour dire que la belle inconnue ne l'était pas.
Merci pour ton aide