Bonjour,
J'ai trouvé une solution à mon problème qui ne passe ni par un Find ni par la boite Rechercher. En fait la solution est assez simple puisque l'on teste la cellule active dans la plage sélectionnée et on applique la comparaison <, >, <= ou >= choisie dans un userForm . Ensuite on traite la cellule active selon le résultat du test. Soit on permet la modification de la valeur de la cellule soit en passe à la cellule suivante répondant au critère.
Voici le code que j'ai trouvé :
Private Sub CommandButton2_Click()
'clic sur le bouton traitement inégalité
Dim plage1 As Range
Dim plage2 As Range
Dim plage3 As Range
Dim REF As Range
Dim Cell, M
Dim X As Variant
Dim Y As Variant
Dim tempo As String
Set REF = Range("C1:C10") 'pour l'exemple. Les plages plage1 à plage3 seront utilisées après les paramétrages faits dans l'userForm de recherche
M = REF.Address
For Each Cell In Range(M)
If Cell.Value > 30 Then 'pour l'exemple. Sera paramétrer par les choix faits dans l'userForm qui permet de détaillé les paramètres de la recherche
Range(M).Select
With Selection
Cell.Activate
X = ActiveCell.Row
Y = ActiveCell.Column
MsgBox "X : " & X 'pour vérification que le code retourne bien les coord. de la cellule active répondant aux critères de la recherche
MsgBox "Y : " & Y
tempo = InputBox("Veuillez saisir le nouveau montant pour cette opération : ") 'pour la gestion du bouton annuler du inputBox
If tempo <> "" Then
Cells(X, Y).Value = tempo
Else
Exit For
End If
End With
End If
Next
End Sub
Code d'un premier jet qui peut sans doute être améliorer.
En vous remerciant.