Une nouvelle version. Les formules s'insèrent automatiquement.Est -ce le code qui insère les formules ou doit -je mètre les formules au niveau de la première ligne en laissant la première colonne si c'est un nouveau fichier ?
Sub Worksheet_Activate()
'Sur un nouveau fichier changez les N° 2 et 3 des tableaux
F1 = "=NB.SI.ENS(Tableau2[Ecole];Tableau3[[#Cette ligne];[Ecole]];Tableau2[Sexe];""M"";Tableau2[Moyenne];"">=5"")"
F2 = "=NB.SI.ENS(Tableau2[Ecole];Tableau3[[#Cette ligne];[Ecole]];Tableau2[Sexe];""F"";Tableau2[Moyenne];"">=5"")"
F3 = "=Tableau3[[#Cette ligne];[Masculin]]+Tableau3[[#Cette...
J'ai changé de tableau. Et j'ai trouvé la réponse.Bonsoir . Merci bien .
ce que je voudrais c'est effectivement ça. Pour que l'utilisateur qui ne maîtrise pas excel puisse avoir le résultat.
Est -ce le code qui insère les formules ou doit -je mètre les formules au niveau de la première ligne en laissant la première colonne si c'est un nouveau fichier ?
Une nouvelle version. Les formules s'insèrent automatiquement.Est -ce le code qui insère les formules ou doit -je mètre les formules au niveau de la première ligne en laissant la première colonne si c'est un nouveau fichier ?
Sub Worksheet_Activate()
'Sur un nouveau fichier changez les N° 2 et 3 des tableaux
F1 = "=NB.SI.ENS(Tableau2[Ecole];Tableau3[[#Cette ligne];[Ecole]];Tableau2[Sexe];""M"";Tableau2[Moyenne];"">=5"")"
F2 = "=NB.SI.ENS(Tableau2[Ecole];Tableau3[[#Cette ligne];[Ecole]];Tableau2[Sexe];""F"";Tableau2[Moyenne];"">=5"")"
F3 = "=Tableau3[[#Cette ligne];[Masculin]]+Tableau3[[#Cette ligne];[Féminin]]"
Application.ScreenUpdating = False
On Error Resume Next
[Tableau3].ListObject.DataBodyRange.Delete
[Tableau3].Item(1, 2).FormulaLocal = F1
[Tableau3].Item(1, 3).FormulaLocal = F2
[Tableau3].Item(1, 4).FormulaLocal = F3
T = [Tableau2]
Range("Tableau3[Ecole]").Resize(UBound(T, 1)) = Application.Index(T, , 4)
ActiveSheet.ListObjects("Tableau3").DataBodyRange.RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
Grandement merci. C'est exactement ce que je voulais.Une nouvelle version. Les formules s'insèrent automatiquement.
Il suffit sur un nouveau fichier de changer les indices des deux tableaux ( Tableau2 et Tableau3 ), en fonction des indices des nouveaux tableaux.
NB: J'ai supposé votre XL en français.VB:Sub Worksheet_Activate() 'Sur un nouveau fichier changez les N° 2 et 3 des tableaux F1 = "=NB.SI.ENS(Tableau2[Ecole];Tableau3[[#Cette ligne];[Ecole]];Tableau2[Sexe];""M"";Tableau2[Moyenne];"">=5"")" F2 = "=NB.SI.ENS(Tableau2[Ecole];Tableau3[[#Cette ligne];[Ecole]];Tableau2[Sexe];""F"";Tableau2[Moyenne];"">=5"")" F3 = "=Tableau3[[#Cette ligne];[Masculin]]+Tableau3[[#Cette ligne];[Féminin]]" Application.ScreenUpdating = False On Error Resume Next [Tableau3].ListObject.DataBodyRange.Delete [Tableau3].Item(1, 2).FormulaLocal = F1 [Tableau3].Item(1, 3).FormulaLocal = F2 [Tableau3].Item(1, 4).FormulaLocal = F3 T = [Tableau2] Range("Tableau3[Ecole]").Resize(UBound(T, 1)) = Application.Index(T, , 4) ActiveSheet.ListObjects("Tableau3").DataBodyRange.RemoveDuplicates Columns:=1, Header:=xlYes End Sub