Macro - indiquer un mot dans une cellule si

Bonsoir à tous

J'ai tenté de chercher par mes moyens une macro qui pourrait réaliser l'action suivante mais sans résultat probant.

J'ai pioché du code a droite à gauche mais cela n'a pas marché. Je pense que le mieux est que quelqu'un m'aide à partir de zero.

Ce dont j'ai besoin est simple.

Dans la colonne A, de la ligne 7 à 500, si l'une des cellule dans la colonne A = "OK"; alors la macro indique "COUCOU" dans la colonne C sur la ligne correspondante.

Merci a celui ou celle qui pourra m'apporter son aide

Bonne soirée

Bonjour Christrucci,

A tester:.....à coller dans le module de la feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim i As Integer

For i = 7 To 500

  If Range("A" & i) Like "OK" Or Range("A" & i) Like "ok" Then
     Range("C" & i) = "COUCOU"
  Else
     Range("C" & i) = ""
  End If
Next i

End Sub
16ok.xlsm (20.32 Ko)

Cordialement,

Bonjour à tous,

Une autre version approchante ...

Private Sub Worksheet_Change(ByVal Target As Range)

   If Not Intersect(Target, Range("A7:A500")) Is Nothing Then
      If UCase(Target) = "OK" Then
         Target.Offset(0, 2) = "COUCOU"
      Else
         Target.Offset(0, 2).ClearContents
      End If
   End If
End Sub

ric

Bonsoir Christrucci, xorsankukai,

je te propose ce fichier Excel :

* saisis OK en A7:A500

* tu peux saisir OK en majuscules ou en minuscules

* si tu effaces OK, ça supprime COUCOU


Alt F11 pour voir le code VBA, puis revenir sur Excel

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  With Target
    If .CountLarge > 1 Then Exit Sub
    If Intersect(Target, [A7:A500]) Is Nothing Then Exit Sub
    If UCase$(.Value) = "OK" Then .Offset(, 2) = "COUCOU"
    If IsEmpty(.Value) Then .Offset(, 2).ClearContents
  End With
End Sub

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

Bonjour à tous

Merci beaucoup pour vos codes

J'ai utilisé le premier qui m'a été proposé par xorsankukai

J'ai simplement enlevé le privat sub car je déclence la macro avec un bouton, et j'ai supprimé la ligne

Else
     Range("C" & i) = ""

Cela écrasais les cellules dans la colonnes C ou je n'avais pas de OK en face, ce que je n'avais pas besoin.

Merci encore en tout cas !

Rechercher des sujets similaires à "macro indiquer mot"