BINGO !!!!!!!
Seuls les commentaires filtrés apparaissent et bien présentés en plus !!!!!
Merci bcp. C'est super depuis le temps que je cherchais cela !!
Merci pour votre patience !
Version imprimable
BINGO !!!!!!!
Seuls les commentaires filtrés apparaissent et bien présentés en plus !!!!!
Merci bcp. C'est super depuis le temps que je cherchais cela !!
Merci pour votre patience !
Bonjour, je me permets de relancer ce post car j'ai réutiliser le code de Theze en l'adaptant (un peu) à un autre cas. Je souhaitais récupérer des commentaires qui se trouvaient dans une colonne d'un tableau et qu'ils aillent se mettre dans un userform. Grâce au code de Theze les commentaires arrivent dans l'userform sans aucun souci et bien présenté.
Je me suis donc servi à nouveau de son code dans un autre cas et je l'ai (un peu) adapté à cet autre cas et j'arrive là aussi à récupérer les commentaires dans un userform bien présenté MAIS j'aurais aimé avoir en plus une autre info dans cet userform à la suite du commentaire affiché entre parenthèse comme suit :
- commentaire (compétence)
- commentaire (compétence)
- ......
Je me répète mais le commentaire est déjà affiché et cela fonctionne super.
L'information compétence se trouve sur la même feuille, dans le même tableau mais dans la colonne "f10:f1956" (qui peut être filtrée)
Qqun saurait ajouter cette contrainte dans le code ci-dessous ?
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 Private Sub CommandButton1_Click() Dim Commentaire As String Dim Cel As Range nom = ComboBox1.Value 'là il ne filtre pas mais se sert de cette donnée pour la chercher dans le tableau Set Cel = Feuil2.Range("7:7").Find(nom, , xlValues, xlWhole, , , False) 'il faut contrôler si un Range est bien retournée ! If Not Cel Is Nothing Then Colonne = Cel.Column ligne = Cel.Row '<-- ici, c'est forcément 7 ! Commentaire = "" 'facultatif, mais au cas où tu relances la macro, ça va d'abord vider la variable With Sheets("saisie") For Each Cel In .Range(.Cells(ligne + 3, Colonne + 2), .Cells(ligne + 1949, Colonne + 2)) 'si visible (suite au filtrage) If Cel.EntireRow.Hidden = False Then If Cel.Text <> "" Then Commentaire = Commentaire & "- " & Cel.Text & vbNewLine End If Next Cel End With Feuil6.Select 'charge le formulaire en mémoire Load UserForm13 With UserForm12 'paramètre pour le label .Label1.Caption = "Voici les commentaires obtenus par " & ComboBox1.Value & " entre le " & TextBox1 & " et le " & TextBox2.Value & "" 'paramètre le TextBox .TextBox1.MultiLine = True .TextBox1.WordWrap = True .TextBox1.Text = Commentaire 'affectation de texte 'affichage visuel du formulaire .Show End With Else MsgBox "La valeur '" & nom & "' n'a pas été trouvée !" End If Unload Me With Feuil2 .EnableOutlining = True .EnableAutoFilter = True .Protect Contents:=True, Password:="toto", UserInterfaceOnly:=True End With End Sub
Bonjour,
Si j'ai bien compris ta demande, teste cette ligne :
en remplacement de celle-ci :Code:
1
2
3 '>.Cells(Cel.Row, 6).Value<-- permet de récupérer ce qui se trouve en colonne F sur la ligne en cours If Cel.Text <> "" Then Commentaire = Commentaire & "- " & Cel.Text & " (" & .Cells(Cel.Row, 6).Value & ")" & vbNewLine
Hervé.Code:
1
2 If Cel.Text <> "" Then Commentaire = Commentaire & "- " & Cel.Text & vbNewLine
[QUOTE=Theze;8293296]
Si j'ai bien compris ta demande[quote]
Je crois que tu peux enlever les si dans tes phrases. :)
Merci. Grâce à toi je ne vais pas rester scotché à mon écran 10 à 15h aujourd'hui (encore une fois) et je t'en suis vraiment reconnaissant.
Merci bcp ;)