Microsoft 365 sélection particulière

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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+
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

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,
 
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
 
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,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
72
Affichages
1 K
Retour