BonsoirToutLeMonde
XLDnaute Nouveau
Bonsoir,
Je souhaite créer une macro que je pourrais utiliser sur plein de document excel différent afin d'effectuer toujours la même tache. Or je suis coincé lors de l'intégration d'une plage variable dans la formule, du coup je me permet de solliciter votre aide.
Je vais vous détailler brièvement ou j'en suis dans la macro, je remplace tous les "." par des "," dans le document, puis je trie la plage de donnée (cellules non vide de la colonne B) et ensuite je souhaite appliquer une formule dans la colonne C en fonction des valeurs de la colonne B.
Dans la formule je dois récupérer des maximun et minimun de la colonne B (J'ai crée une plage nommé "NoteColonneB" (c'est toute les cellule non vide de la colonne B)), or je n'arrive pas à intégrer cette plage variable à ma formule.
Je n'arrive pas à remplir le critère "RefersToR1C1:=" avec la plage "NoteColonneB"
Je ne sais pas si j'ai été très clair mais voici tout mon travail, j'espère que vous pourrez m'aider.
Merci d'avance, bien cordialement.
EDIT 1 : "RC[-1]" dans la formule équivaut à la cellule B1 de mon tableau
Je souhaite créer une macro que je pourrais utiliser sur plein de document excel différent afin d'effectuer toujours la même tache. Or je suis coincé lors de l'intégration d'une plage variable dans la formule, du coup je me permet de solliciter votre aide.
Je vais vous détailler brièvement ou j'en suis dans la macro, je remplace tous les "." par des "," dans le document, puis je trie la plage de donnée (cellules non vide de la colonne B) et ensuite je souhaite appliquer une formule dans la colonne C en fonction des valeurs de la colonne B.
Dans la formule je dois récupérer des maximun et minimun de la colonne B (J'ai crée une plage nommé "NoteColonneB" (c'est toute les cellule non vide de la colonne B)), or je n'arrive pas à intégrer cette plage variable à ma formule.
VB:
Sub Harmonisation_des_notes()
' Harmonisation_des_notes Macro
'Remplacement "." par ","
Selection.Replace What:=".", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
' Selection de la colonne B des cellules non vides
Range("B1", Range("B1").End(xlDown)).Select
'Remplacement "." par "," Bis
Selection.Replace What:=".", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'Tri de la colonne B influençant la colonne A
Range("B1").Select
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add2 Key:=Range("B1", Range("B1").End(xlDown)), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("B1", Range("B1").End(xlDown))
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Création d'une plage nommée
Dim NoteColonneB As Range
Set NoteColonneB = Range("B1", Range("B1").End(xlDown))
Range("B1", Range("B1").End(xlDown)).Select
ActiveWorkbook.Names.Add Name:="NoteColonneB", RefersToR1C1:="NoteColonneB"
ActiveWorkbook.Names("NoteColonneB").Comment = ""
'Création de la formule
Range("C1").Select
ActiveCell.FormulaR1C1 = _
"=((RC[-1]-(0.5*MIN(NoteColonneB)))*MAX(NoteColonneB))/(MAX(NoteColonneB)-(0.5*MIN(NoteColonneB)))"
End Sub
Je n'arrive pas à remplir le critère "RefersToR1C1:=" avec la plage "NoteColonneB"
Je ne sais pas si j'ai été très clair mais voici tout mon travail, j'espère que vous pourrez m'aider.
Merci d'avance, bien cordialement.
EDIT 1 : "RC[-1]" dans la formule équivaut à la cellule B1 de mon tableau