Microsoft 365 sélection particulière

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite une beau WE :)

Je n'arrive à coder une sélection de cellules malgré mes tests et je n'ai rien trouvé sur le net qui corresponde à mon besoin.
Mon besoin : Sélectionner les cellules de F2 à H jusqu'à dernière ligne si la cellule en "I" contient le mot "libre"

Auriez-vous le bon code ?
En cas, je joins un p'tit fichier test,

Je vous remercie humblement,
Amicalement,
lionel,
 

Pièces jointes

  • selection_SIcellule_contient_test.xlsm
    17.7 KB · Affichages: 13
Solution
Bonjour Lionel, djidji59430,

La macro affectée au bouton :
VB:
Sub Selec()
If Application.CountIf([I:I], "libre") = 0 Then Exit Sub
Application.ScreenUpdating = False
[I:I].Replace "libre", "#N/A", xlWhole
Intersect([F:H], [I:I].SpecialCells(xlCellTypeConstants, 16).EntireRow).Select
[I:I].Replace "#N/A", "libre"
End Sub
A+

job75

XLDnaute Barbatruc
Bonjour Lionel, djidji59430,

La macro affectée au bouton :
VB:
Sub Selec()
If Application.CountIf([I:I], "libre") = 0 Then Exit Sub
Application.ScreenUpdating = False
[I:I].Replace "libre", "#N/A", xlWhole
Intersect([F:H], [I:I].SpecialCells(xlCellTypeConstants, 16).EntireRow).Select
[I:I].Replace "#N/A", "libre"
End Sub
A+
 

Pièces jointes

  • selection_SIcellule_contient_test(1).xlsm
    23.5 KB · Affichages: 7

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour djidji59430,

J'espère que tu vas bien et je te remercie pour ta formule,
Elle est très bien et je vais la garder pour un autre application.

Pour ma demande présente, j'ai besoin d'une sélection par code vba car c'est pour l'inclure dans un autre code lol
"Usine à gaz" oblige ;)

mais un grand merci car ta formule me sera utile,
lionel,
 

fanch55

XLDnaute Barbatruc
Salut Lionel,
En présumant que les lignes sont déjà triées comme tu les as présentées :
VB:
Sub Test()
Dim R As Range
    With Range("I2:I19")
       Set R = .Find("libre", SearchDirection:=xlPrevious)
       If Not R Is Nothing Then
           lr = R.Row
           Set R = .FindNext(R): ld = R.Row
           Range("F" & lr & ":H" & ld).Select
       End If
    End With
End Sub
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour Lionel,

La macro affectée au bouton :
VB:
Sub Selec()
If Application.CountIf([I:I], "libre") = 0 Then Exit Sub
Application.ScreenUpdating = False
[I:I].Replace "libre", "#N/A", xlWhole
Intersect([F:H], [I:I].SpecialCells(xlCellTypeConstants, 16).EntireRow).Select
[I:I].Replace "#N/A", "libre"
End Sub
A+
Bonjour Gérard,
Comme toujours PRESTO - PREAVVISO - EFFICIENTE et j'en passe lool
Nickel,
Merci à toi :)
lionel,
 

Discussions similaires

Réponses
25
Affichages
797

Statistiques des forums

Discussions
312 299
Messages
2 086 992
Membres
103 422
dernier inscrit
victus5