Boucle infinie

Bonjours,

Je travail actuellement sur un fichier qui utilisera énormément de ligne dans le futur,et qui a 3 formule par ligne.

Pour éviter d'alourdir mon fichier j'ai créé une macro qui insère mes formules dans la ligne cliquer au moment du remplissage mais voila,maintenant je veut rajouter des bordure a mes cellule et le fait de les rajouter réactive la macro et cela tour a l'infini.

Savez vous comment éviter ce problème ?

Bien cordialement

Arthur

PS:

Sub auto_etir_formule()

Dim ligne As Integer

ligne = ActiveCell.Row
    Cells(ligne, 2).NumberFormat = "_-* #,##0.00 [$€-fr-FR]_-;-* #,##0.00 [$€-fr-FR]_-;_-* ""-""?? [$€-fr-FR]_-;_-@_-" ' cellule avec les chiffres en €
    Cells(ligne, 3).FormulaLocal = "=SI(A" & ligne & "="""";"""";INDEX('F:\Fichiers\Suivi cde\2018\[Suivi cde 2018.xlsm]cde en cours'!E:E;EQUIV(A" & ligne & ";'F:\Fichiers\Suivi cde\2018\[Suivi cde 2018.xlsm]cde en cours'!W:W;0)))"
    Cells(ligne, 4).FormulaLocal = "=SI(A" & ligne & "="""";"""";INDEX('F:\Fichiers\Suivi cde\2018\[Suivi cde 2018.xlsm]cde en cours'!D:D;EQUIV(A" & ligne & ";'F:\Fichiers\Suivi cde\2018\[Suivi cde 2018.xlsm]cde en cours'!W:W;0)))"
    Cells(ligne, 5).FormulaLocal = "=SI(A" & ligne & "="""";"""";INDEX('F:\Fichiers\Suivi cde\2018\[Suivi cde 2018.xlsm]cde en cours'!C:C;EQUIV(A" & ligne & ";'F:\Fichiers\Suivi cde\2018\[Suivi cde 2018.xlsm]cde en cours'!W:W;0)))"
    Cells(ligne, 6).FormulaLocal = "=SI(A" & ligne & "="""";"""";INDEX('F:\Fichiers\Suivi cde\2018\[Suivi cde 2018.xlsm]cde en cours'!Y:Y;EQUIV(A" & ligne & ";'F:\Fichiers\Suivi cde\2018\[Suivi cde 2018.xlsm]cde en cours'!W:W;0)))"

'---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Range("B" & ligne & ":G" & ligne).Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    Range("A" & ligne).Select

End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

ligne = ActiveCell.Row

If ActiveCell.Column = 1 And ActiveCell.Row <> 1 And Cells(ligne, 3) = "" Then
    auto_etir_formule
End If

End Sub

voila les codes

la partie du haut met les formule dans les cases ,l'autre est (en théorie) sensé mettre les bordures sur toute les cellules

bonjour,

essaie ainsi

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

ligne = ActiveCell.Row

If ActiveCell.Column = 1 And ActiveCell.Row <> 1 And Cells(ligne, 3) = "" Then
    application.enableevents=false
    auto_etir_formule
    application.enableevents=true
End If

End Sub

Super merci h2so4 sa fonctionne parfaitement

Rechercher des sujets similaires à "boucle infinie"