Macro Excel: recherche dans des objets OLE - VB/VBA/VBS - Programmation
MarshPosté le 13-10-2008 à 09:12:49
Bonjour, Je fais appel à vos lumières n’étant pas un champion de la macro Excel et mes recherches ayant été peu fructueuses. Voilà le dilemme : J’ai un très long document sous Excel avec dans des cases des objets OLE (par exemple, il y a un tableau dans une case du tableau et lorsqu’on double clique dessus, on ouvre un autre document). En bref des documents dans le document. Or j’avais fait une petite macro pour comparer :
Sub Trouve1() For J = 1 To 2167
For Each cel In Range("b1:b3282" ) If InStr(cel.Value, Range("F" & J).Value) Then cel.Offset(0, 1).Value = cel.Offset(0, 1).Value + 1 cel.Interior.ColorIndex = 15 Cells(J, 6).Interior.ColorIndex = 15 Cells(J, 7) = cel.Value End If
Next Next
End Sub
Cela marchait quand la colonne B contenait uniquement du texte mais maintenant il y a aussi des objets OLE dans certaines cases. Je souhaiterais qu’Excel recherche aussi dans ces objets car, dans l’état actuel, seul le texte autour de ces objets sert à la comparaison. En recherchant un peu, j’arrive à sélectionner ces objets mais je n’ai pas réussi à rechercher dedans. Si cela est possible ou si vous savez comment convertir ces objets OLE en texte par exemple (j’ai besoin de comparer le contenu texte de l’objet OLE, peu importe si je perds la mise en forme), quelqu’un aurait-il une proposition SVP ? Merci d’avance ! Bon début de semaine à tous. Fabrice
Message édité par Fabidouille le 13-10-2008 à 09:13:30
Marsh Posté le 13-10-2008 à 09:12:49
Bonjour,
Je fais appel à vos lumières n’étant pas un champion de la macro Excel et mes recherches ayant été peu fructueuses.
Voilà le dilemme :
J’ai un très long document sous Excel avec dans des cases des objets OLE (par exemple, il y a un tableau dans une case du tableau et lorsqu’on double clique dessus, on ouvre un autre document). En bref des documents dans le document.
Or j’avais fait une petite macro pour comparer :
Sub Trouve1()
For J = 1 To 2167
For Each cel In Range("b1:b3282" )
If InStr(cel.Value, Range("F" & J).Value) Then
cel.Offset(0, 1).Value = cel.Offset(0, 1).Value + 1
cel.Interior.ColorIndex = 15
Cells(J, 6).Interior.ColorIndex = 15
Cells(J, 7) = cel.Value
End If
Next
Next
End Sub
Cela marchait quand la colonne B contenait uniquement du texte mais maintenant il y a aussi des objets OLE dans certaines cases. Je souhaiterais qu’Excel recherche aussi dans ces objets car, dans l’état actuel, seul le texte autour de ces objets sert à la comparaison. En recherchant un peu, j’arrive à sélectionner ces objets mais je n’ai pas réussi à rechercher dedans. Si cela est possible ou si vous savez comment convertir ces objets OLE en texte par exemple (j’ai besoin de comparer le contenu texte de l’objet OLE, peu importe si je perds la mise en forme), quelqu’un aurait-il une proposition SVP ?
Merci d’avance !
Bon début de semaine à tous.
Fabrice
Message édité par Fabidouille le 13-10-2008 à 09:13:30