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

8tournois.xlsm (158.34 Ko)

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 Sub

ainsi 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 Sub

je sais pas si cela suffira j essaye de tout transféré vers un autre classeur pour plus de clareté

Rechercher des sujets similaires à "rapidite code prise compte"