VBA excel et votre aide!!?

Résolu
Bonjour,

Cherchant depuis quelques jours une solution à mes problemes que je n'arrive pas à resoudre, je me tourne à present vers vous. Et comme vous l'aurez vite compris je suis un jeune utilisateur de vba sous excel.
voiçi en quelques lignes le l'architecture de ma feuille excel.

J'ai une valeur cible qui est variable selon les cas (c'est moi qui rentre cette valeur: N° de client) dans une cell disons A1.
en A2: un texte sur A1

les info en A1 et A2 font presque l'office d'un messagebox mais comme je ne sais pas faire pour l'instant...., l'idée c'est celle-ci, j'entre des infos qui sont recherchées dans ma base de donné globale.

Dans la colonne D : j'ai l'ensemble de mes valeures cibles potentielles (tous mes N° de clients).
Colonne E : je repporte le commentaire.

ma/ mes questions :

lorsque je mets ma valeur cible en A1 et mon texte en A2. je voudrais retrouver cette valeur cible dans colonne D. mettre le texte dans la colonne E(l,c) correspondant.

puis lorsque j'implemente le texte de la cible en A2. que le texte repporté en E(l,c) s'implemente aussi mais à la ligne dans la même cellule (fonction WrapText je pense!!!) qui effacer le "passé"

exemple car j'ai peur de ne pas être clair....
info sur même client mais à des jours ou mois ou années différentes.

cell E2 à un tps t : A

Cell E2 à un tps t+1 : A
bonjour

Cell E2 à un temps t+3 : A
bonjour
salut
etc.....

grand merci à celui ou celle qui pourra me sortir de là.........

Bonsoir à vous tous...
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Bonjour,

    Un grand merci pour ton aide......... rapide et efficace.

    et un grand merci pour tous ceux qui prennent un peu de tps pour aider les personnes sur le net et qui partage leurs connaissances.
    Thanks a lot.......
    1. Contributeur
      bonjour

      Tu peux mettre cette macro événementielle sur ta feuille VBA concernée
      Private Sub Worksheet_Change(ByVal sel As Range)
      If Not Intersect(sel, [B1]) Is Nothing Then
      Dim client As Range
          Set client = Range("D:D").Find(What:=[A1].Value, After:=Range("D1"), LookIn:=xlFormulas, LookAt _
              :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
          If client Is Nothing Then
              MsgBox "client inconnu : " & [A1].Value
              Exit Sub
          End If
          If client.Offset(0, 1) = "" Then
              client.Offset(0, 1) = [B1].Value
          Else
              client.Offset(0, 1) = client.Offset(0, 1) & Chr(10) & [B1].Value
          End If
      End If
      End Sub
      

      Lorsque tu changes la valeur de B1 :
      - elle recherche ton client A1 dans la colonne D
      - si non trouvé tu as un message d'erreur
      - si trouvé, la colonne E s'incrémente de la valeur de B1,
      avec saut de ligne si cellule non vide.