Microsoft 365 CurrentRegion : sélection de cellules

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite une belle et chaude journée :)

Je n'arrive pas à adapter un code que Job75 m'a donné.
Le code était(pour appliquer une formule) :
VB:
Code origine Gérard
Sheets("Comptage_appels").Select
ActiveSheet.Unprotect Password:=""
    With [a1].CurrentRegion
    If .Rows.Count > 1 Then .Cells(4, 16).Resize(.Rows.Count - 1) = "=IF(OR(RC[-6]="""",RC[-5]=""""),"""",IF(VALUE(SUBSTITUTE(LEFT(RC[-6],8),""-"",""/"",1))=TODAY(),1,IF(MONTH(EOMONTH(VALUE(SUBSTITUTE(LEFT(RC[-6],8),""-"",""/"",1)),0))=MONTH(TODAY()),2,IF(MONTH(EOMONTH(VALUE(SUBSTITUTE(LEFT(RC[-6],8),""-"",""/"",1)),0))<MONTH(TODAY()),""3"",""""))))"
    .Columns(16) = .Columns(16).Value 'supprime les formules
    [P3] = "=SUM(RC[-4]:RC[-2])"
    End With
ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
et fonctionne très dans le fichier pour lequel il a été fait.

J'ai tenté de le modifier comme suit pour faire une sélection de cellules :
Code:
With [a6].CurrentRegion
    If .Rows.Count > 1 Then .Cells(1, 16).Resize(.Rows.Count).Select
    'If .Rows.Count > 1 Then .Cells(1, 16).Resize(.Rows.Count).Select
    '.Cells(4, 16).Resize(.Rows.Count - 1)
    End With
Mais ça ne fonctionne pas et je n'arrive pas à trouver comment faire.

J'ai besoin que seules les cellules en colonnes P avec "RdV Fait" contenu en colonne "J" soient sélectionnées.

Pourriez-vous m'aider ?
Je joins un fichier test et je continue à bidouiller ;)

Un grand merci encore une fois,
Amicalement,
lionel,
 

Pièces jointes

  • CurrentRegion.xlsm
    52.4 KB · Affichages: 13
Dernière édition:
Solution
Fichier (2) avec création des listes de validation :
VB:
Sub sélection()
    With ActiveSheet 'Feuil1 'CodeName
        If .FilterMode Then .ShowAllData 'si la feuille est filtrée
        .Columns(16).Validation.Delete 'RAZ
        With .Rows("6:" & .Range("j" & .Rows.Count).End(xlUp).Row)
            If .Row < 6 Then Exit Sub 'sécurité
            Application.ScreenUpdating = False
            .Rows.RowHeight = 55
            .Sort .Columns(10), xlAscending, Header:=xlNo 'tri
            Union(.Rows(0), .Rows).AutoFilter 10, "RDV Fait*" 'filtre automatique
            On Error Resume Next 'si aucune SpecialCell
            With Intersect(.SpecialCells(xlCellTypeVisible), .Columns(16))
                Application.Goto .Cells(1), True...

sylvanu

XLDnaute Barbatruc
Supporter XLD
???????
essai avec ma PJ du post #8 :

20211130_135231.gif
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Une V4 en PJ avec :
VB:
    'ICI
    Range(Cells(5, "J"), Cells([J65500].End(xlUp).Row, "J")).AutoFilter Field:=1, _
    Criteria1:="=RdV Fait", Operator:=xlOr, Criteria2:="=RdV Fait annulé"
     Range(Cells(6, "J"), Cells([J65500].End(xlUp).Row, "J")).SpecialCells(xlVisible).Select    ' Selectionne les cellules filtrées
    Selection.AutoFilter                                                                        ' Supprime le filtre

Le reste est un test, je prends les valeurs filtrées et les colle en Feuille TEST.
 

Pièces jointes

  • CurrentRegion (4).xlsm
    55.3 KB · Affichages: 2

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Merci Sylvanu,

Merci pour ton intérêt et le temps que tu passes pour moi :)
Ton fichier fonctionne mais ce n'est pas mon besoin; je crois que je n'arrive pas à bien expliquer ce que je souhaite.

Ne t'embêtes pas.
Je ferai ce soir un filtre pour qu'il ne m'affiche que les lignes qui contiennent "RdV Fait en colonne "L" et je me débrouillerai pour la suite des actions de mon code :)
lionel :)
 

Statistiques des forums

Discussions
299 841
Messages
1 979 469
Membres
206 743
dernier inscrit
yaya20