VBA IF la cellule contient "un mot"

Bonjour ,

j'essaye d'arriver faire une macro sur la colonne A et C si les cellules contient un mot particulier Alors mettre "ok" sur la colonne D.

Si vous pouvez m'aidez .

je vous remercie par avance

Cordialement

Bonjour lic789, le forum,

Sans fichier, une réponse hasardeuse.....

En D1:

=SI(ET(A1="ton mot 1";C1="ton mot 2");"ok";"")

Cordialement,

Je te remercie mais je cherche à le faire en VBA si ta une idée .

Cordialement

Re,

Peut-être ainsi.....à adapter...

Sub test()
 Dim i As Long, derlig As Long
  With Sheets("Feuil1")
   dl = .Range("A" & Rows.Count).End(xlUp).Row   'dernière  cellule utilisée de la colonne A
    For i = 2 To dl   'boucle de la ligne 2 à la dernière
     .Range("D" & i) = IIf(.Range("A" & i) = "mot1" And .Range("C" & i) = "mot2", "OK", "")
    Next i
  End With
End Sub

Cordialement,

merci beaucoup de ton aide , je te joins un fichier pour que tu comprenne mieux.

Ce que je veux c'est que dans la colonne "vérif" me dise correcte si dans la colonne statut soit "validée " et dans fichier "reçus" sinon me marquer incorrecte .

cordialement

77test.xlsx (9.14 Ko)

Re,

A tester....

290copie-de-test.xlsm (18.88 Ko)

Cordialement,

Merci beaucoup sa fonctionne 👌🏻👌🏻

Dans cette formule peut-on mettre plusieurs critères

Tel que dans la colonne E qu’il soit valide ou rejetée , ou partiellement rejeté et dans la colonne fichier soit reçus alor c’est correcte .

Cordialement

Bonjour,

Nouvel essai...

72test-2.xlsm (19.47 Ko)

Une variante si tu as besoin de rajouter des conditions pour la colonne D

110test-3.xlsm (18.63 Ko)

Cordialement,

Super , merci beaucoup ça m’aide beaucoup 👌🏻👌🏻

Bonjour ,

Je reviens vers vous car j’ai appliquer la formule

Voir la photo , mai cela me met incorrect sur tout .

Cordialement

Re,

Je reviens vers vous car j’ai appliquer la formule

Voir la photo , mai cela me met incorrect sur tout .

Quelle formule ? Quelle photo ? Sur quel fichier ?

Cordialement,

Mince c’est difficile que je vous envoie car c’est un document de travaille .

J’ai appliquer votre formule vba sa me met incorrecte partout .

Sauf que j’ai changer dans votre formile les cellules cat les fichier « reçus» la colonne G , « validee » ect dans la colonne H et les réponse dans la colonne i

Cordialement

Re,

Sauf que j’ai changer dans votre formile les cellules cat les fichier « reçus» la colonne G , « validee » ect dans la colonne H et les réponse dans la colonne i

J'ai un peu de mal à saisir,

Dans ma dernière proposition qui semblait fonctionner, on avait:

  • colonne E (statut): valide, non valide, rejetée, partiellement rejetée
  • colonne F (vérif): le résultat souhaité en fonction de D et E.

Maintenant, tu me dis que tu as changé les colonnes:

  • colonne E est devenue colonne H
  • colonne F est devenue colonne I

Ai-je bien compris ?

A tester:

Option Compare Text
Sub Bouton1_Cliquer()
  Dim i As Long, derlig As Long
  With Sheets("Feuil1")
   dl = .Range("B" & Rows.Count).End(xlUp).Row   'dernière  cellule utilisée de la colonne B
    For i = 2 To dl   'boucle de la ligne 2 à la dernière
     If Range("G" & i) Like "Reçus" Then
      Select Case .Range("H" & i).Value
       Case "valide", "rejetée", "partiellement rejetée" 'tes conditions pour la colonne E
        .Range("I" & i) = "Correct"
       Case Else
        .Range("I" & i) = "InCorrect"
      End Select
     Else
        .Range("I" & i) = "InCorrect"
     End If
    Next i
  End With
End Sub

Cordialement,

Oui j’ai fait la même formule mai sur le Excel du travaille sa me met incorrect partout dans la colonne I .

Cordialement

Bonsoir luc789,

Essaie de remplacer

If Range("G" & i) Like "Reçus" Then

par

If Range("G" & i) = "Reçus" Then

Cordialement,

Bonjour cela me

Met toujours incorrect

La vba que j’ai mis

Sub teste ()

Dim i as long , derlig as long

With sheets (“confirm client ")

Dl = .range ("G “ & i) = "reçus" then ou (like)

Select case .range ("H “ & i ) .value

Case «" validee " ect ...

.range (i" & i) = "correct "

. range (i" & i) = "incorrect "

End select

Else

. range (i" & i) = "incorrect "

End if

Next i

End with

End sub

Peut être c’est du au colonne H et G sont des formule avec SI?

Cordialment

Bonjour,

Si ton code est tel que dans ta feuille, il y a beaucoup d'erreurs....

A tester:

Sub Bouton1_Cliquer()
  Dim i As Long, derlig As Long
  With Sheets("confirm client")   'On agit sur la feuille confirm client (Attention! dans ton code il y a un espace après le t ?)
   Dl = .Range("B" & Rows.Count).End(xlUp).Row   'dernière  cellule utilisée de la colonne B (à adapter)
    For i = 2 To Dl   'boucle de la ligne 2 à la dernière
     If Range("G" & i).Value = "Reçus" Then   'si la valeur en colonne G est Reçus
      Select Case .Range("H" & i).Value
       Case "valide", "rejetée", "partiellement rejetée" 'tes conditions pour la colonne E
        .Range("I" & i) = "Correct"    'si valeur en colonne H est valide où rejetée où partiellement rejetée, colonne I = correct
       Case Else                       'sinon
        .Range("I" & i) = "InCorrect"  'colonne I =incorrect
      End Select                       'fin de condition de la colonne E
     Else                              'sinon, si la valeur en colonne G n'est pas Reçus
        .Range("I" & i) = "InCorrect"  'colonne I =incorrect
     End If                            'fin de condition de la colonne G
    Next i                             'fin de la boucle
  End With
End Sub

Cordialement,

Avez vous un email afin que je puisse prendre en photo car cela ne fonctionne toujours pas ?

Cordialement,

Re,

Tu peux mettre la photo en pièce jointe .

Tu as l'option "Ajouter des fichiers" /"Insérer dans le message".

capture capture

Cordialement,

Il est impossible de vous envoyer les photos car le fichier est trop volumineux .

Cordialement

Rechercher des sujets similaires à "vba contient mot"