Salut negoksa,
Plusieurs choses sur ton code :
tu défini les variables ligne 2... mais tu ne donne pas le type, autrement dit, définition incomplete.. (utilise l'Option EXPLICIT avant de démarer ton sub pour identifier ces problemes de variables.)
par exemple f est la variable qui représente ton fichier (celui que tu ouvre) donc tu la défini comme suit :
Dim f AS Workbook
En effet ta ligne 6 est quelques peu étrange !!!
Tu dois définir une adresse de cellule : une ligne et une colonne puis lui dire de regarder soit la Valeur soit le texte qui doit etre égal a Jambon...
et encore, si tu as plusieurs feuilles dans ton fichier, il faut que tu spécifie le nom de feuille dans laquelle chercher le texte de la cellule .(la définir puis l'utiliser)
Autrement dit :
Dim feuille2 as Worksheet '// définition
Set feuille2 = Worksheets("ta feuille") '// précsions sur la variable
[...] '// ci dessous utilisation de la variable feuille2
if feuille2.cells(ligne,colonne).Text= "JAMBON" then '// ou .Value a la place de .Text
[...]
end if
Ensuit s'i ne trouve pas de cellule contenant Jambon, cela peut aussi venir des Majuscules/ Minuscules auquel VBA est sensible ( On parle de Casse). Utilise les fonction Lcase() et Ucase() pour mettre respectivement tout en minuscule ou en majuscule avant de faire le test :
[...]
if Lcase(feuille2.cells(ligne,colonne).Text) = "jambon" then
[...]
change déja ca et tiens moi au courant !
(ce serait bien d'avoir tout le code, si ce n'est qu'une partie, le probleme peut aussi etre ailleurs... et autant rendre tout ton code "propre" !!
A te lire,