VBA Recherche cellule avec cells et Find

Bonjour à tous,

Je souhaite retrouver l'adresse d'une cellule, actuellement j'utilise cette ligne de code afin de faire une addition de 3 cellules:

Range(Cells(i, n + 1), Cells(i, n + 1)).Formula = Cells(i, 7) + Cells(i, n) - Cells(i, n - 1)

J'ai rentrer " Cells(i,7)" mais la colonne est dynamique donc quand celle ci n'est plus à la bonne place je n'ai plus le bon résultat.

Je voudrais rentrer un critère de recherche avec Find*:

Je voudrais qu'il cherche dans la ligne 1, le mot "Réel " & Right(Cells(i, n-1), 4) afin de recupérer le N° de colonne .

Comme ça par la suite je pourrais écrire " Cells(i,X)" à la place de " Cells(i,7)", "X" étant le numéro de la colonne recherché.

Je ne vois pas comment associé la fonction Find dans cet exemple, pouvez vous m'aider svp?

Merci à vous

Bonjour Florian.

J'utiliserai une boucle à ta place.

Dim j&, jj&
jj = Cells.Find("*",,,,xlbycolumns,xlprevious).Column 'Dernière colonne
For j = 1 to jj
If Cells(1, j).Value = "Ton critère" Then exit for
Next
'j sera le numéro de ta colonne.

Merci, je test ça de suite


J'ai une erreur quand je rentre mon critère:

        jj = Cells.Find("*", , , , xlByColumns, xlPrevious).Column 'Dernière colonne
    For j = 1 To jj
    If Cells(1, j).Value = "Réel " & Right(Cells(i, n - 1), 4) Then Exit For
    Next

Est ce qu'il y a une erreur de Syntaxe, sachant que le résultat attendu est sous la forme "Réel 2015" par ex.

J'ai trouvé mon erreur, il fallait changer "i" par 1 :

        jj = Cells.Find("*", , , , xlByColumns, xlPrevious).Column 'Dernière colonne
   For j = 1 To jj
    If Cells(1, j).Value = "Réel " & Right(Cells(1, n - 1), 4) Then Exit For
    Next

Encore merci à toi

Je ne vois pas la différence entre tes deux codes, mais si maintenant tout fonctionne c'est le principal.

Pardon j'ai édité mon précédent post

Rechercher des sujets similaires à "vba recherche find"