Bonjour a tous,
Je viens encore une fois reclamer votre aide, mes connaissances en VBA ayant leur limite .
Je souhaite, par la methode du .Find, obtenir les resultats de la recherche dans un commentaire.
En fait, si ma condition d'analyse de la cellule est fausse, alors je veux faire un find est obtenir la liste des resultats dans un commentaire de cellule.
Voici le code que j'ai commence.
Je vous joins egalement un petit fichier exemple.
Il faut savoir que mon fichier original comporte beaucoup plus de donnees dans les deux feuilles, et que dans la feuille de base de donnees, il peut y avoir de nombreux doublons (a conserver malheureusement).
C'est pour cela que le Vlookup ne peut pas fonctionner correctement.
Si vous avez des suggestions a mon probleme, je serais plus que ravi.
En vous remerciant par avance,
Cordialement,
Delux
Je viens encore une fois reclamer votre aide, mes connaissances en VBA ayant leur limite .
Je souhaite, par la methode du .Find, obtenir les resultats de la recherche dans un commentaire.
En fait, si ma condition d'analyse de la cellule est fausse, alors je veux faire un find est obtenir la liste des resultats dans un commentaire de cellule.
Voici le code que j'ai commence.
Code:
Sub find_something()
Dim mySource As Range
Dim myCible As Range
Dim Cel As Range
Dim dl As Integer
Dim dc As Byte
Dim FirstFound As String
Application.ScreenUpdating = False
dl = Sheet1.Range("A65489").End(xlUp).Row
dc = Sheet1.Range("A3").End(xlToRight).Column
Set myCible = Sheet1.Range(Cells(4, 1), Cells(dl, dc))
Set mySource = Sheet1.Range("A4:A11")
mySource.Interior.ColorIndex = 0
myCible.ClearComments
For Each Cel In mySource
If Not IsEmpty(Cel.Value) And InStr(Cel.Value, "-") > 0 Then
Donnees = Split(Cel.Value, "-")
Set R = Sheet2.Range("C2:C1100").Find(Donnees(0))
If Not R Is Nothing Then
FirstFound = R.Address
Do
If IsError(Application.VLookup(Donnees(0) _
& Sheet1.Range("B" & Cel.Row).Value & Sheet1.Range("A1"), _
Sheet2.Range("A2:F1100"), 1, 0)) Then
VLcName = R.Offset(0, 1).Value
VLdst = R.Offset(0, 2).Value
Cel.Interior.ColorIndex = 3 'Rouge
Cel.Offset(0, 1).AddComment Text:="Correct Class Name : " & Chr(10) & _
VLcName & "for " & VLdst 'Com with Correct Class Name and Correct DST Template
Cel.Offset(0, 1).Comment.Shape.TextFrame.AutoSize = True
Set R = Sheet2.Range("C2:C1100").FindNext(R)
End If
Loop While R.Address <> FirstFound
Else
Cel.Interior.ColorIndex = 0
End If
End If
Next Cel
End Sub
Je vous joins egalement un petit fichier exemple.
Il faut savoir que mon fichier original comporte beaucoup plus de donnees dans les deux feuilles, et que dans la feuille de base de donnees, il peut y avoir de nombreux doublons (a conserver malheureusement).
C'est pour cela que le Vlookup ne peut pas fonctionner correctement.
Si vous avez des suggestions a mon probleme, je serais plus que ravi.
En vous remerciant par avance,
Cordialement,
Delux