Comment "rafraichir" = concat

Tout est dit, c'était bien cela.

A mon niveau, cela me parait tout à fait satisfaisant reste l'épreuve à l'usage.

Mille merci, je vais clore et si éventuel souci, je reviendrai.

Bravo, beau résultat.

Cordialement

Tonthon

Pour que la procédure ai un aspect un peu plus conventionnel tu peu la remplacer par..

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  ' la plage "surveillée"
    If Not Application.Intersect(Target, Range("B2:B4,C1:E4")) Is Nothing And Target.Count = 1 Then
        Application.ScreenUpdating = False                  ' Bloque le raffraichissement écran
        On Error Resume Next                                ' Indique si une erreur ne t'arrête pas
        ActiveSheet.ShowAllData                             ' libère le filtre
        On Error GoTo 0                                     ' Rétablit la gestion des erreurs
        If Target.Address = "$C$2" Then
            Range("J2") = "=A12=" & Target.Address              ' critère : A12 c'est la 1ère ligne de la base de donnée
            Range("A11:W" & Range("A" & Rows.Count).End(xlUp).Row).AdvancedFilter Action:=xlFilterInPlace, _
            CriteriaRange:=Range("J1:J2"), Unique:=False

        ElseIf Target.Address = "$B$2" Then
        Range("J2").Formula = "=COUNTIF(A12,""=B*"")"       ' critère : A12 c'est la 1ère ligne de la base de donnée"
        Range("A11:W" & Range("A" & Rows.Count).End(xlUp).Row).AdvancedFilter Action:=xlFilterInPlace, _
        CriteriaRange:=Range("J1:J2"), Unique:=False

        ElseIf Target.Address <> "$C$1" Then '(Tous)
            Range("J2") = "=V12=" & Right(Target.Value, 2)      ' critère : V12 c'est la 1ère ligne de la base de donnée REGIONS
            Range("J9") = Right(Target.Value, 2)
                                                                ' c'est pour le report du choix région dans le cadre n.adhérents pour 1 région
            Range("A11:W" & Range("A" & Rows.Count).End(xlUp).Row).AdvancedFilter Action:=xlFilterInPlace, _
                CriteriaRange:=Range("J1:J2"), Unique:=False    ' Le tableau commence en A8 et finit en W....
        End If
        Range("J2").ClearContents                           ' On efface les critères
        Range("X1") = concat(Me.Range("M12:M303"))
    End If
End Sub

Ca fait la même chose mais avec beaucoup moins de perte de temps en test inutiles.

Bon amusement et au plaisir sur le forum.

ok, c'est sympa d'avoir refait cette version "académique".....qui devrait me permettre de m'y retrouver plus facilement !

Excellent WE

Tonthon

Rechercher des sujets similaires à "comment rafraichir concat"