Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 Gérard,
Comme toujours PRESTO - PREAVVISO - EFFICIENTE et j'en passe lool
Nickel,
Merci à toi
lionel,
 

Discussions similaires

Réponses
25
Affichages
877
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…