Find avec un critère de comparaison

Bonjour,

Je n'arrive pas à faire un Find avec un critère de comparaison strict de type a > valeur ou type a< valeur ou non strict a <= valeur ou a >= valeur. Je n'ai trouvé que des exemples avec des égalités. Or je souhaite pouvoir récupérer dans un classeur toutes les cellules dont le montant est supérieur ou inférieur à une valeur donnée.

En vous remerciant d'avance pour votre aide.

Bonjour,

Bonjour,

je n'ai pas encore de code pour l'instant concernant ce problème. C'est d'ailleurs la raison pour laquelle je viens sur ce forum.

Je peux toutefois préciser que selon le type de comparaison > ou > sélectionné dans un userForm qui existe déjà et le montant toujour renseigné dans ce même userForm je vais rechercher dans l'ensemble des pages du classeur ou une partie des pages les cellules correspondant à ce critère. Comme par exemple le critère suivant : rechercher dans toutes les pages ou une partie des pages du classeur courant les cellules dont la valeur est > à 100.

Bonjour,

La seule alternative à une recherche par égalité avec un "Find" est une recherche par masque comme avec l'instruction "like".

Si ça ne convient pas, il faut envisager une autre solution.

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.

Bonjour,

J'ai oublié de préciser une chose très importante à savoir que le code que je propose est un code que j'ai trouvé sur internet et que j'ai adapté à mes besoins. Mea culpa.

Rechercher des sujets similaires à "find critere comparaison"