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 SubMon 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: 
			
		
	
								
								
									
	
		
			
		
		
	
	
	
		
			
		
		
	
								
							
							 
	 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		