Bonjour à tous,
Je ne code pas en VBA mais vous pourrez surement m'aider
Voici mon prblème :
Je recherche une cellule dans laquelle il y a une opération Excel (Donc commence par =, exemple : =PRODUIT(...))
Donc pour ce faire je fais cet appel de la fonction find :
range.Find(CString("="), vMissing, vMissing, SEARCH_PART, SEARCH_NEXT, SEARCH_BY_ROW, vMissing, vMissing, vMissing);
SEARCH_PART correspond à la valeur 2 comme expliqué par Microsoft dans ce lien : http://msdn.microsoft.com/en-us/library/bb241368.aspx
SEARCH_NEXT correspond à la valeur 1 et dit que l'on cherche dans les cellules suivantes et non les précédentes
SEARCH_BY_ROW correspond à la valeur 1 et dit que l'on cherche par ligne et non par colonne
Mon range à 3 colonnes et 1 seul ligne, je selectionne ce Range grâce à la méthode GoTo("Nom de mon Range") de la classe CApplication0.
La dernière Cellule de mon Range possède une Opération, je trouve donc quelque chose avec cette fonction.
Jusque là je pense que tout fonctionne correctement.
Je récupère le Range renvoyé par la fonction find dans un range temporaire comme ceci :
tmpCell = range.Find(CString("="), vMissing, vMissing, SEARCH_PART, SEARCH_NEXT, SEARCH_BY_ROW, vMissing, vMissing, vMissing);
Puis c'est maintenant qu'il y a un soucis, j'éssaye donc de récupérer la formule qui est dans le Range temporaire. Pour ce faire j'ai essayé les fonctions :
- get_Value
- get_Formula
- get_FormulaArray
Mais sans succès. J'ai tracé avec le debug, c'est bien cette ligne qui plante, aucune de ces fonctions ne marche pourtant tmpCell n'est pas NULL.
Est-ce bien l'une de ces fonctions qu'il faut utiliser ?
Laquelle ? Comment l'utiliser ?
Merci.
Partager