Problème formule sous VBA Le 24/05/2020 à 15:12BBenoist28200Membre fidèleMessages458Excel2013 FRInscrit28/10/2015 Bonjour,J'ai cette formule qui fonctionne=NB.SI.ENS(AJ10:ACL10;"P";$AJ$5:$ACL$5;"<=" & PARAMETRES!D5)PARAMETRES!D5 = 31/12/2020Quand j'essaie de la passer sous vba la valeur dans la cellule est "FAUX" plutot que la formule.NumColonne = Sheets("PLANNING").Cells(5, 33).End(xlToRight).Column DerDate = Sheets("PARAMETRES").Range("D5").Value "=NB.SI.ENS(AJ10:" & NoCol & "10;""P"";$AJ$5:$" & NoCol & "$5;" <= "" & DerDate & ")"Sauriez-vous pourquoi ?MerciLe 24/05/2020 à 15:18EErgotaminePassionné d'ExcelMessages3'283Excel2021 FRInscrit26/06/2016Bonjour,L'éditeur VBA est en anglais, il faut que tu utilises COUNTIFS qui est l'équivalent de NB.SI.ENS Bon courage !Le 24/05/2020 à 15:22BBenoist28200Membre fidèleMessages458Excel2013 FRInscrit28/10/2015Bonjour Ergotamine,Sheets("PLANNING").Range("AE10").FormulaLocal = "=NB.SI.ENS(AJ10:" & NoCol & "10;""P"";$AJ$5:$" & NoCol & "$5;" <= "" & DerDate & ")"Avec .FormulaLocal , pas besoin.Désolé de pas l'avoir dit plus tôt.Cordialement,Le 24/05/2020 à 15:25Andre13Membre impliquéMessages2'415Excel2019Inscrit13/07/2017EmploiFormateur, animateur,tech.informatiqueBonjour toutes et tousun doute pas fortiche en formule mais en vba NB.SI pout COUNTIF et NB.SI.ENS pour COUNTIFS=COUNTIFS....Après aucune idée mettre FormulaLocal Un truc mais fichtre, j'tente, j'n'sais pas Sauvegarder avant !!! Sheets("PLANNING").Range("AE10").FormulaLocal = "=COUNTIFS(AJ10:" & NoCol & "10;""P"";$AJ$5:$" & NoCol & "$5;" <= "" & DerDate & ")"Edit: oupss pas vu merci Benoist et Ergotaminecrdlt,AndréLe 24/05/2020 à 15:27SteelsonFanatique d'ExcelMessages22'171Fichiers37Excel2013 FR + GSheetsTél.89'626Inscrit13/10/2014EmploiIngénieurBonjour,encore une fois, avec formulalocal c'est selon, donc ici en FrançaisBenoist a raisonLe 24/05/2020 à 15:28BBenoist28200Membre fidèleMessages458Excel2013 FRInscrit28/10/2015Bonjour Andreé13,Le problème est le même avec COUNTIFS.Cordialement,Le 24/05/2020 à 15:30SteelsonFanatique d'ExcelMessages22'171Fichiers37Excel2013 FR + GSheetsTél.89'626Inscrit13/10/2014EmploiIngénieurPourquoi ne pas passer par l'enregistreur de macroCela donne ceci (en Anglais car fomulaR1C1) ActiveCell.FormulaR1C1 = _ "=COUNTIFS(R[6]C[33]:R[6]C[763],""P"",R5C36:R5C766,""<="" & PARAMETRES!R[1]C[1])"tout dépend quand même de la cellule cibleLe 24/05/2020 à 15:40BBenoist28200Membre fidèleMessages458Excel2013 FRInscrit28/10/2015Merci Steelson mais y a t'il moyen de faire en formula normal ?Cordialement,Le 24/05/2020 à 15:55SteelsonFanatique d'ExcelMessages22'171Fichiers37Excel2013 FR + GSheetsTél.89'626Inscrit13/10/2014EmploiIngénieurPas de soucis, mais tu parles deparfois NumColonne et parfois de NoColet surtout il faut transformer NumColonne en ABC ... ou bien d'utiliser un DECALER dans lequel on pourra mettre une valeur numériqueLe 24/05/2020 à 15:59SteelsonFanatique d'ExcelMessages22'171Fichiers37Excel2013 FR + GSheetsTél.89'626Inscrit13/10/2014EmploiIngénieur Dans ta proposition tu y es presque, remplace NoCol par LettresColonne(NoCol)Function LettresColonne(NoCol) LettresColonne = Split(Cells(1, NoCol).Address, "$")(1) End FunctionLe 24/05/2020 à 16:00BBenoist28200Membre fidèleMessages458Excel2013 FRInscrit28/10/2015Tu as raison, désolé j'avais copié la mauvaise ligne.Tablo = Cells(1, Cells(4, Rows(4).Cells.Count).End(xlToLeft).Column).Address NoCol = Split(Tablo, "$")(1)Le 24/05/2020 à 16:01SteelsonFanatique d'ExcelMessages22'171Fichiers37Excel2013 FR + GSheetsTél.89'626Inscrit13/10/2014EmploiIngénieurIl me semble qu'il te manque des guillemets aussi;""<="""Le 24/05/2020 à 16:04BBenoist28200Membre fidèleMessages458Excel2013 FRInscrit28/10/2015C'est ce que je pensais mais si je rajoute des guillemets a ce niveau j'obtiens une erreur.Le 24/05/2020 à 16:05SteelsonFanatique d'ExcelMessages22'171Fichiers37Excel2013 FR + GSheetsTél.89'626Inscrit13/10/2014EmploiIngénieurJe verrais plutôt ceci ....FormulaLocal = "=NB.SI.ENS(AJ10:" & NoCol & "10;""P"";$AJ$5:$" & NoCol & "$5;""<="" & " & DerDate & ")"Il devait manquer aussi une esperluette !Le 24/05/2020 à 16:10SteelsonFanatique d'ExcelMessages22'171Fichiers37Excel2013 FR + GSheetsTél.89'626Inscrit13/10/2014EmploiIngénieurSi je fais ceci cela fonctionneSub test() NoCol = "ACL" DerDate = Sheets("PARAMETRES").Range("D5").Value ActiveCell.FormulaLocal = _ "=NB.SI.ENS(AJ10:" & NoCol & "10;""P"";$AJ$5:$" & NoCol & "$5;""<="" & " & 1*DerDate & ")" End SubLe 24/05/2020 à 16:15SteelsonFanatique d'ExcelMessages22'171Fichiers37Excel2013 FR + GSheetsTél.89'626Inscrit13/10/2014EmploiIngénieurAutre versionSub test() NoCol = "ACL" DerDate = Sheets("PARAMETRES").Range("D5").Value ActiveCell.FormulaLocal = _ "=NB.SI.ENS(AJ10:" & NoCol & "10;""P"";$AJ$5:$" & NoCol & "$5;""<="" & PARAMETRES!D5)" End SubJe pense qu'il faut que tu laisses la fin sans changement pour avoir les évolutions éventuelles de PARAMETRES!D5 dans la formule.Le 24/05/2020 à 16:28BBenoist28200Membre fidèleMessages458Excel2013 FRInscrit28/10/2015 Un grand merci Steelson, ça fonctionne parfaitement .Rechercher des sujets similaires à "probleme formule vba"ForumsExcel - VBAProblème formule sous VBA