Msgbox --> Superposer résultat en lignes

SUNLIFE2009

XLDnaute Nouveau
Bonjour,

j'aurais besoin d'assistance pour m'aider à afficher en lignes superposées dans une msgbox le résultat d'une recherche. Actuellement mon code affiche les données les unes à côté des autres, mais dans le but de faciliter la lecture, pouvez-vous m'aider à modifier le code, afin d'avoir chaque résultat l'un au dessus de l'autre.
Voici mon code :
Set Coll = New Collection
With Sheets("Ottawa NG QA Total")
For R = .Range("E702").End(xlUp).Row To 2 Step -1
If .Cells(R, 5).Value = " " Then
On Error Resume Next
Coll.Add .Cells(R, 3), CStr(.Cells(R, 3))
On Error GoTo 0
End If
Next R
If Coll.Count = 0 Then MsgBox "All TOAs are existing !", vbCritical, "Checking Data": Exit Sub
For R = 1 To Coll.Count
If R = 1 Then
TextMsg = Coll(R)
Else
TextMsg = TextMsg & " - " & Coll(R)
End If
Next R
MsgBox "Missing TOA :" & " " & TextMsg, vbCritical, "Checking Data"
End With

J'ai bien vu une affaire de chr(13), mais je n'arrive pas à l'appliquer.
Merci pour votre aide.
Laurent.
 

SUNLIFE2009

XLDnaute Nouveau
Re : Msgbox --> Superposer résultat en lignes

Salut James007.
Merci pour ta réponse, malheureusement cette fonction ne fait que mettre les résultats les uns à côté des autres, avec un saut de ligne après Missing TOA :
Exemple : Missing TOA :
E01 - E02 - E03....
Comme le nombre de résultats est variable, je ne sais pas comment faire dire à vba que chaque résultat trouvé, est à afficher en dessous du précédent, exemple :
Missing TOA :
E01
E02
E03
...
Ma macro collationne un certain nombre de "TOA" selon si oui ou non, une cellule correspondant à ce TOA est vide, ou pleine. Le résultat n'est donc jamais le même.
J'espère être assez clair, pas facile à expliquer...
 

James007

XLDnaute Barbatruc
Re : Msgbox --> Superposer résultat en lignes

Re,

Tu peux ... sans que j'en comprenne la raison ... adapter le code suivant ...

VB:
Sub Test()
' Macro pour mise en forme du MsgBox
Dim strMsg As String
   strMsg = "Liste pour rigoler" & vbNewLine & vbNewLine
   strMsg = strMsg & "• Point 1" & vbNewLine
   strMsg = strMsg & "• Le point est CHR(149)" & vbNewLine
   strMsg = strMsg & Chr(149) & " Point 3" & vbNewLine
   strMsg = strMsg & Chr(149) & " Plusieurs Points" & vbNewLine
   strMsg = strMsg & Chr(149) & " Dans ma liste"

MsgBox strMsg, vbInformation

End Sub

A +
:)
 

Discussions similaires

Statistiques des forums

Discussions
312 226
Messages
2 086 414
Membres
103 204
dernier inscrit
alaa20dine01