matrix
XLDnaute Occasionnel
Bonjour à tous,
Dans mon fichier excel (VBA), j'ai une fonction nb.si en script.
Ex: La la feuille Statistique colone A, j'ai 100 nom de personnes différent.
Je veux faire un nb.si dans la colone B en rapport avec la feuille Base de donnée colone A ou se trouve les mêmes nom mais en triple et même plus.
En se moment, j'utilise le scripte:
Mon problème est que je mis prend de la mauvaise façon en écrivant une formule et ensuite, je copie en valeur.
Donc si j'ajoute des nom dans la feuille Statistique, je dois modifier le scripte à chaque fois.
Comment faire pour mettre la bonne valeur du premier coup sans aller par le procédé de la formule et ensuite copier coller en valeur.
Merci de votre aide
ps: je crois qu'il y a un problème pour uploader un fichier excel car il me donne un message d'erreur.
Dans mon fichier excel (VBA), j'ai une fonction nb.si en script.
Ex: La la feuille Statistique colone A, j'ai 100 nom de personnes différent.
Je veux faire un nb.si dans la colone B en rapport avec la feuille Base de donnée colone A ou se trouve les mêmes nom mais en triple et même plus.
En se moment, j'utilise le scripte:
Code:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Sheets("Statistique").Select
ActiveSheet.Unprotect
Sheets("Employés").Select
ActiveWindow.SmallScroll Down:=-15
Sheets("Employés").Range("A2:A100").Select
Selection.Copy
ActiveWindow.ScrollRow = 2
Sheets("Employés").Range("A1").Select
Sheets("Statistique").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("B3").Select
ActiveCell.FormulaR1C1 = "=COUNTIF('Base de donnée'!C1,RC[-1])"
Selection.AutoFill Destination:=Range("B3:B487")
Range("B3:B487").Select
ActiveWindow.ScrollRow = 478
Selection.AutoFill Destination:=Range("B3:B927"), Type:=xlFillDefault
Range("B3:B927").Select
Range("B3:B927").Select
Range("B927").Activate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("A2:B1008").Select
Selection.Sort Key1:=Range("B3"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Columns("B:B").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="0"
Selection.FormatConditions(1).Font.ColorIndex = 2
ActiveWindow.SmallScroll Down:=-15
Range("C1") = Date
Range("D1") = Time
ActiveWindow.ScrollRow = 3
Range("A2").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Application.ScreenUpdating = True
MsgBox "MISES À JOUR TERMINÉES"
End Sub
Mon problème est que je mis prend de la mauvaise façon en écrivant une formule et ensuite, je copie en valeur.
Donc si j'ajoute des nom dans la feuille Statistique, je dois modifier le scripte à chaque fois.
Comment faire pour mettre la bonne valeur du premier coup sans aller par le procédé de la formule et ensuite copier coller en valeur.
Merci de votre aide
ps: je crois qu'il y a un problème pour uploader un fichier excel car il me donne un message d'erreur.
Dernière édition: