Aide sur recherche conditionnelle VBA

lepadre19

XLDnaute Nouveau
Bonjour le forum,

Je fais de nouveau appel à vous car je bloque sur mon projet.

Description:

Un userform avec un menu déroulant, unbouton de commande et un textbox.

Un onglet avec deux colonnes: Nom et commentaires

Quand je choisis un nom du menu déroulant et que j appuie sur le bouton de commande je veux qu'il regarde dans la collone nom s'il trouve le même nom et le cas échéant qu il me renvoie dans la textbox le commentaire de la cellule à côté.

Sinon qu'il me renvoie dans la textbox "Aucun Commentaires Disponibles"

Pour cela:

Private Sub CmbChercher_Click()

Sheets("CommentairesSocGes").Activate

Dim Ligne1 As Integer

For Ligne1 = 1 To 30000

If Cells(Ligne1, 1).Value = Me.MenuDeroulant.Value Then

Cells.Find(what:=MenuDeroulant.Value, after:=ActiveCell, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlByColumns, searchdirection:=xlNext, MatchCase:=False).Activate
Commentaires = ActiveCell.Offset(0, 1)

Else

Commentaires = "Aucun Commentaires Disponibles"

End If
Next Ligne1
End Sub

Avec ce code, il m affaiche toujours "Aucun Commentaires Disponibles"

Merci d avance pour votre aide

Merci davance pour votre aide.
 

Pierrot93

XLDnaute Barbatruc
Re : Aide sur recherche conditionnelle VBA

Bonjour Lepadre,

modifies peut être le recherche comme ceci, et en enlevant la boucle :

Code:
Dim c As Range
Set c = Cells.Find(what:=MenuDeroulant.Value, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlByColumns, searchdirection:=xlNext, MatchCase:=False).Activate
If Not c Is Nothing Then
    Commentaires.Value = c.Offset(0, 1)
Else
    Commentaires.Value = "no commentaire"
End If

bon après midi
@+
 

lepadre19

XLDnaute Nouveau
Re : Aide sur recherche conditionnelle VBA

Bonjour le Forum, Bonjour Pierrot 93,

Merci de ton aide. Malheureusement ca ne marche pas. Je pense qu il est necessaire de conserver la boucle car je ne connais pas a l avance le nombre de commentaire que j aurais. du coup il faut qu il test puis qu il me renvoie la valeur a côté.

En fait si je rentre le code suivant ca me renvoie bien le commentaire voulu mais je voudrais en plus que si le nom n existe pas dans la colonne le message aucun commentaire apparaisse.


Private Sub CmbChercher_Click()

Sheets("CommentairesSocGes").Activate

Dim Ligne1 As Integer

For Ligne1 = 1 To 30000

If Cells(Ligne1, 1).Value = Me.MenuDeroulant.Value Then

Cells.Find(what:=MenuDeroulant.Value, after:=ActiveCell, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlByColumns, searchdirection:=xlNext, MatchCase:=False).Activate
Commentaires = ActiveCell.Offset(0, 1)


End If
Next Ligne1
End Sub

A vous lire. Merci d avance
 

Pierrot93

XLDnaute Barbatruc
Re : Aide sur recherche conditionnelle VBA

Re

pas tout compris moi... je suppose que "commentaire" est le nom de ta textbox, en tout état de cause, seule la dernière info sera retenue dans la valeur de celle ci... mets peut être ton fichier en pièce jointe, sans données confdentielles, avec un peu plus d'éléments, car là comme ca, vois pas trop...

@+
 

lepadre19

XLDnaute Nouveau
Re : Aide sur recherche conditionnelle VBA

Bonjour le forum, pierrot93,

Voici un petit exemple de ce que je fais en fichier joint.

tout marche bien sauf que si je clicque sur patate ou cacao, je veux que "Aucun commentaires" s affichent dans la textbox.

Merci d avance
 

Pièces jointes

  • Essai.xls
    34.5 KB · Affichages: 49
  • Essai.xls
    34.5 KB · Affichages: 49
  • Essai.xls
    34.5 KB · Affichages: 49

chris

XLDnaute Barbatruc
Re : Aide sur recherche conditionnelle VBA

Bonjour
Soit tu utilises une boucle pour parcourir ta colonne et chercher la valeur soit tu utilises search.
Dans le 1er cas tu testes l'égalité avant de passer à la ligne suivante, dans l'autre tu testes le résultat de search : trouvé ou non.
 

Statistiques des forums

Discussions
312 679
Messages
2 090 848
Membres
104 677
dernier inscrit
soufiane12