Countif à plage variable

Bonjour à tous,

Je sollicite un peu d'aide car je bloque sur la traduction d'une formule Excel en macro :

=SIERREUR(((NB.SI(Z4:AC4;"*1*")*1)+(NB.SI(Z4:AC4;"*0,75*")*0,75)+(NB.SI(Z4:AC4;"*0,5*")*0,5))/(NB.SI(Z4:AC4;"*1*")+NB.SI(Z4:AC4;"*0,75*")+NB.SI(Z4:AC4;"*0,5*")+NB.SI(Z4:AC4;"*0"));"NC")

ici AC4 est variable.

Le passage en VBA doit me permettre de rendre ma plage variable en prenant comme plage : cellule selectionnée jusqu'à la prochaine cellule vide de la même ligne. Il y a de nombreux exemples presque similaires sur le forum que j'ai essayé d'adapter et qui m'ont permis de coder ceci :

ActiveCell.Offset(0, -1).FormulaR1C1 = _
        "=IFERROR(((COUNTIF(RC[1]:RC[" & Range("Y" & ActiveCell.Row).End(xlToRight).Offset(0, 1) & "],""*1*"")*1)+(COUNTIF(RC[1]:RC[" & Range("Y" & ActiveCell.Row).End(xlToRight).Offset(0, 1) & "],""*0,75*"")*0.75)+(COUNTIF(RC[1]:RC[" & Range("Y" & ActiveCell.Row).End(xlToRight).Offset(0, 1) & "],""*0,5*"")*0.5))/(COUNTIF(RC[1]:RC[" & Range("Y" & ActiveCell.Row).End(xlToRight).Offset(0, 1) & "],""*1*"")+COUNTIF(RC[1]:RC[" & Range("Y" & ActiveCell.Row).End(xlToRight).Offset(0, 1) & "],""*0,75*"")+COUNTIF(RC[1]:RC[" & Range("Y" & ActiveCell.Row).End(xlToRight).Offset(0, 1) & "],""*0,5*"")+COUNTIF(RC[1]:RC[" & Range("Y" & ActiveCell.Row).End(xlToRight).Offset(0, 1) & "],""*0"")),""NC"")"

Malheureusement ce code inscrit la formule suivante pour laquelle la plage ne correspond pas à ce que je souhaite :

=SIERREUR(((NB.SI(X4:Y4;"*1*")*1)+(NB.SI(X4:Y4;"*0,75*")*0,75)+(NB.SI(X4:Y4;"*0,5*")*0,5))/(NB.SI(X4:Y4;"*1*")+NB.SI(X4:Y4;"*0,75*")+NB.SI(X4:Y4;"*0,5*")+NB.SI(X4:Y4;"*0"));"NC")

Je suis preneur de la solution si une âme charitable passe par ici

Merci d'avance et bonne journée

Bonjour

Je suis très loin de tout connaitre, mais ta formule me semble étrange

Possible d'avoir un fichier test avec la macro et dans la page des données

Bonjour,

Oui sans problème, j'ai bricolé un petit fichier test que voici :

16test.xlsm (26.22 Ko)

Cette formule s'insère dans une macro qui doit me permettre d'intégrer le résultat d'un calcul à coté de données présentes dans les cellules de la colonnes T.

Pour y parvenir, je procède de la manière suivante :

Conversion des cellules de la colonnes T vers cellules de la colonne Y

Calcul du pourcentage selon la formule indiquée

Concatenation de "mesures organisationnelles" & "résultat du pourcentage"

Concatenation de "mesures collectives" & "résultat du pourcentage"

Concatenation de "mesures individuelles" & "résultat du pourcentage"

Puis remise en configuration initiale en colonne T avec les pourcentages.

Tu m'avais par la passé aidé à la réalisation de mon userform dynamique qui me permet d'obtenir les données de la colonne T (post : https://forum.excel-pratique.com/post321659.html?hilit=reco#p321659, je pense qu'il doit y avoir un moyen beaucoup plus facile d'intégrer ces pourcentages mais qui n'est pour le moment pas à ma portée.

Encore merci du temps que tu me consacres!

Bon après midi.

Bonjour

A tester

Bonjour,

A nouveau merci ! Ca fonctionne !

Bonne continuation

Rechercher des sujets similaires à "countif plage variable"