Message Box Recherche sur 2 colonnes

Bonjour,

J'ai créé une macro qui affiche une message box si un mot est trouvé dans une colonne (si le mot "Test" est présent dans la colonne G).

J'aimerai ajouter une condition supplémentaire pour afficher cette message box qui est:

Si une cellule dans la colonne A contient la suite de caractères "@truc.com"

Voici ma macro:

Sub MessageBox()
Dim PlageDeRecherche As Range
Dim Valeur_Cherchee As String
Valeur_Cherchee = "Test"
Set PlageDeRecherche = ActiveSheet.Columns(6)
Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)
If Trouve Is Nothing Then
Else
MsgBox "Vérifiez les données"
End If
Set PlageDeRecherche = Nothing
End Sub

Avez-vous une idée de la manière dont je pourrai ajouter la seconde condition?

Je vous remercie par avance pour votre aide.

Raoduk

Bonjour,

A l'avenir essayez de joindre un fichier également.

Sinon un code a adapter à votre fichier en passant par la méthode EVALUATE sur un EQUIV matriciel car un find ne peux pas chercher sur 2 plages il me semble :

Sub MessageBox()
Dim VAL_1$, VAL_2$, LR%, L As Variant
VAL_1 = "TEST"
VAL_2 = "A"
With ActiveSheet
    LR = .Cells(.Rows.Count, 6).End(xlUp).Row
    L = Application.Evaluate("=MATCH(""" & VAL_1 & VAL_2 & """,(F1:F" & LR & ")&(G1:G" & LR & "),0)") 'Essaie de trouver la combinaison de VAL_1 et VAL_2 dans les colonnes F et G
    If IsError(L) Then 'Si L est erreur alors
        MsgBox "Combinaison non trouvée", vbCritical
        Else
        MsgBox "Combinaison trouvée à la ligne " & L, vbInformation 'Sinon affiche le numéro de la ligne
    End If
End With
End Sub

Avec le fichier support pour tester.

Cdlt,

8classeur1.xlsm (15.11 Ko)

Bonjour,

Merci pour votre retour.

Désolé pour le fichier, je le joins à ce message, je pense qu'il ne vous sera pas inconnu.

La recherche doit s'effectuer dans dans la feuille "Rapport Fin" uniquement.

Vous trouverez en colonne A le texte "@TRUC.COM" et en colonne G le second argument "Test".

J'ai essayé de modifier votre code mais je n'arrive pas à modifier Val_1 = "Test" en Val_1 contient "Test" pour ensuite l'adapter à mon fichier.

Par ailleurs, est-il possible d'afficher une message box uniquement si les arguments sont remplis et faire en sorte que rien ne se passe si les arguments ne sont pas remplis?

Cordialement,

Raoduk

6test.xlsm (34.59 Ko)

Bonjour,

Et voilà pour vous :

Sub MessageBox()
Dim VAL_1$, VAL_2$, LR%, L As Variant
VAL_1 = "@TRUC.COM"
VAL_2 = "Test"
With ActiveSheet
    LR = .Cells(.Rows.Count, 7).End(xlUp).Row
    L = Application.Evaluate("=MATCH(""*" & VAL_1 & VAL_2 & """,(A1:A" & LR & ")&(G1:G" & LR & "),0)") 'Essaie de trouver la combinaison de VAL_1 et VAL_2 dans les colonnes F et G
    If Not IsError(L) Then MsgBox "Combinaison trouvée à la ligne " & L, vbInformation 'Affiche le numéro de la ligne si L est trouvé
End With
End Sub

L'asterix dans la formule MATCH permet d'indiquer que le texte avant @TRUC.COM n'est pas déterminant dans les critères.

Cdlt,

Bonjour,

C'est parfait.

Merci pour votre aide.

Cordialement,

Raoduk

Rechercher des sujets similaires à "message box recherche colonnes"