VBA excel et votre aide!!?

Résolu/Fermé
john69 - 7 août 2008 à 19:05
 john69 - 8 août 2008 à 10:36
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...
A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 710
7 août 2008 à 23:08
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.
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.......
0