Rapidité de code + cellule non prise en compte
Bonjour, Bonsoir a tous,
j' ai 2 problèmes :
le premier (plus important) c est que quand j’intègre dans une cellule une valeur via mon UF il ne veux plus prendre cette valeur dans une formule d'un autre onglet... (fichier joins... j’espère être clair dans mes explication...
le 2 ème est que mon code est très lent... pourtant j ai essayer de l accélérer...
si vous avez une idée ça serais super super
Bonsoir.
Par contre je ne sais pas si c'est moi qui bug mais la feuille semble protégée, c'est un peu dur de voir des détails et tester des choses quand on a pas la main. Si ce n'est pas moi qui bug il y a moyen de changer ça svp?
Cdt
euhhh pour le problème de code j ai trouver j avais pas mis un .value mdr du coup la cellule prend bien la valeur souhaiter
pour le protection s'il y en a une je sais pas comment je l'ai mise... il ne me semble pas avoir fait cela mais je vais regarder... et essayer de le mettre dans un autre fichier...
sinon voici le code qui me pose probleme au niveau de la "lenteur"
le bouton ;
Private Sub CommandButton1_Click()
'les 3 premiers tours
Application.Run "lancer_tour"
Sheets("Tournois").Range("H3:H80") = Sheets("tirage").Range("G3:G80").Value
Sheets("Tournois").Range("J3:J80") = Sheets("tirage").Range("H3:H80").Value
Application.Run "lancer_tour"
Sheets("Tournois").Range("O3:O80") = Sheets("tirage").Range("G3:G80").Value
Sheets("Tournois").Range("Q3:Q80") = Sheets("tirage").Range("H3:H80").Value
Application.Run "lancer_tour"
Sheets("Tournois").Range("V3:V80") = Sheets("tirage").Range("G3:G80").Value
Sheets("Tournois").Range("X3:X80") = Sheets("tirage").Range("H3:H80").Value
Sheets("Tournois").Select
End Subainsi que les macros associer :
Sub lancer_tour()
' tour
'nbr joueurs
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Sheets("Tour").Range("C3:C160").ClearContents
Sheets("Tour").Range("C3:C160") = Sheets("Tournois").Range("D4:D160").Value
Sheets("Tour").Select
Range("C3:C160").Select
Selection.SpecialCells(xlCellTypeConstants, 22).Select
Selection.Delete Shift:=xlUp
Sheets("Tournois").Select
Sheets("tirage").Range("E3:E200").Clear
Sheets("tirage").Range("A1:A150") = Sheets("Tour").Range("C3:C154").Value
Dim Sort As Long, Personne As Long, Nombre As Long, Tourne As Long, Vue As Long
Dim Dictio As Object
Worksheets("tirage").Activate
Personne = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
Nombre = Application.CountA([A:A])
Set Dictio = CreateObject("Scripting.Dictionary")
For Tourne = 1 To Nombre
Do
Sort = Int(Rnd(Timer) * Personne) + 1
Dictio(Range("A" & Sort).Value) = ""
Vue = Dictio.Count
Loop Until Dictio.Count = Tourne
Next Tourne
Range("E3").Resize(Dictio.Count, 1) = Application.Transpose(Dictio.keys)
Columns("A:H").Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreaterEqual _
, Formula1:="=1"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
Selection.FormatConditions(1).StopIfTrue = False
If Sheets("Tournois").Range("B4") Mod 2 = 0 Then
Else
Sheets("tirage").Range("E" & Rows.Count).End(xlUp).Offset(1, 0) = "CHA"
End If
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Subje sais pas si cela suffira j essaye de tout transféré vers un autre classeur pour plus de clareté