Fonction excel dans VBA

Bonjour,

Je cherche à rentré une formule excel de ce type dans VBA : =RECHERCHE(K9;Généralités!O3:O32;Généralités!Q3:Q32)

Sauf que en plus je voudrais que les colonne soient variable. J'ai donc essayé d'écrire cette formule sous cette forme :

For i = 0 To NbE - 2

Cells(20, 10 + 7 * i).Select

ActiveCell.FormulaLocal = "=RECHERCHE(D9;Généralités!" & Cells(4, 16 + (8 * i)) & ":" & Cells(33, 16 + (8 * i)) & ";Généralités!" & Cells(4, 18 + (8 * i)) & ":" & Cells(33, (18 + (8 * i))) & ")"

Next i

J'ai aussi essayé avec des adresses de cellules relative telles que : R[4]C[" & 16+(8*i) & "]
Mais pas moyen j'ai toujours le déboggueur qui s'affiche...

Merci d'avance pour vos réponse =)

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Salut le forum

    Le VBA ne comprends que les fonctions écrites en anglais.
        ActiveCell.Formula = _  
            "=LOOKUP(K9,Généralités!O3:O32,Généralités!Q3:Q32)"

    Mytå
    Merci de donner suite à votre question, nous ne sommes pas des robots...
    « Si le déboguage est l'art d'enlever les bogues, alors la programmation doit être l'art de les créer. »
    1. Contributeur
      Bonjour à tous,

      @Mytå : en utilisant FormulaLocal cela permet de coder en français.

      @Mathieulh
      Quand "le déboggueur s'affiche", il te faut regarder la formule que tu génères avec débogage / espion express par exemple afin de voir où est ton erreur.
      Si "le déboggueur s'affiche" c'est que ta formule est incorrecte et ne peut être enregistrée.