Si la 1e cellule ne contient pas la valeur, alors passer à la suivante

Salut à tous,

J'utilise le VBA depuis quelques temps pour faciliter certaines petites tâches répétitives.

Actuellement, je suis sur un fichier mais je n'arrive pas à finaliser ma macro.

Je vous explique le problème:

Préalable:

  • Colonnes E à P correspondent à : janvier à décembre
  • Sur mon Onglet Source, je précise dans une cellule le mois concerné par le traitement qui va être réalisé (prenons mars par exemple)

J'aimerais que le traitement suivant se réalisent sur les colonnes définies E à P:

1. Si une des cellules de la Ligne 1 comprise entre E et P contient le mois du traitement (ex: mars) alors appliquer la formule suivante, sinon ne rien faire.

A la base, j'ai ajouté cette requête directement dans la formule mais ça ne fonctionne que pour une colonne et non de manière dynamique comme je le souhaite; càd en recherchant dans chaque colonne de E à P si la condition du mois est respectée.

ActiveCell.FormulaR1C1 = _

"=IFERROR(IF(R1C7=Source!R1C10,VLOOKUP(RC[-4],TABLmens!R[1]C1:R[197]C2,2,FALSE),""""),0)"

' R1C7=Source!R1C10 correspond à : si la 1ère cellule correspond au mois indiqué dans l'onglet source alors appliquer la formule

2. J'aimerais également que cette formule s'applique à toutes les lignes de la colonne concernée, en sachant que le nombre de lignes peut être augmenté ou diminué.

Voilà j'ai essayé d'être le plus clair possible, mais c'est toujours difficile d'exposer facilement ce genre de chose.

Pouvez-vous m'aider svp?

Merci d'avance

Bonjour et bienvenue,

Peux-tu joindre un fichier ?

Cela permettra au forum d'intervenir à bon escient.

Cdlt.

Bonjour,

Bien sûr, voici le fichier correspondant en PJ.

Merci d'avance.

Cdlt

Bonsoir à tous,

Je ne sais pas si j'ai été claire dans ce que je souhaitais faire donc dans le doute, je recommence:

Si je traite les données du mois de mars, j'aimerais que la macro parcourt les colonnes E à P (càd janv à décembre) jusqu'à qu'elle trouve "Mars". Quand elle trouve "Mars", elle applique la formule souhaitée (ici la recherchev ci-dessous), sinon elle passe à la colonne suivante. Ainsi de suite chaque mois, en sachant que le mois du traitement est inscrit dans la feuille Source.

' Rappel de la fonction recherchev souhaitée

"=IFERROR(VLOOKUP(RC[-4],TABLmens!R[1]C1:R[197]C2,2,FALSE),0)"

Ensuite, ma 2e demande était d'appliquée cette formule de manière dynamique càd jusqu'à la dernière ligne du tableau (en sachant que le nombre de lignes peut augmenter).

Est-ce qu'il y aurait quelqu'un pour m'aider svp? Peut-être que je ne suis pas toujours pas claire, n'hésitez pas à me le dire.

Merci d'avance.

Rechercher des sujets similaires à "contient pas valeur passer suivante"