Loïc DUBOIS
XLDnaute Occasionnel
Bonjour à tous,
J'espère que vous allez bien ?
J'ai un problème lié à un grand jeu de données sur excel. Je m'explique je souhaite appliquer ce code :
	
	
	
	
	
		
L'objectif est de trouver des correspondances selon 3 critères (2 colonnes et une ligne).
Le code fonctionne très bien sur des petit jeu de données (max 30k lignes). Comme vous pouvez le voir je souhaite appliquer la formule sur 449k lignes sur 22 colonnes. Avez-vous une solution pour optimiser ce code pour que les fomurles puissent s'appliquer sur tout mon jeu de donnée ?
Je vous met également un fichier test.
Merci beaucoup d'avance.
	
		
			
		
		
	
				
			J'espère que vous allez bien ?
J'ai un problème lié à un grand jeu de données sur excel. Je m'explique je souhaite appliquer ce code :
		VB:
	
	
	Sub FormuleSheet1()
    ' Formule peut être acquise directement par l'enregistreur de macro
    Formule = "=IFERROR(INDEX(Feuil1!R2C3:R616000C24,MATCH(Sheet1!RC4&Sheet1!RC8,Feuil1!R2C1:R616000C1&Feuil1!R2C2:R616000C2,0),MATCH(Sheet1!R1C,Feuil1!R1C3:R1C24,0)),"""")"
    Sheets("Sheet1").[AE2].FormulaArray = Formule   ' On colle la formule
    Range("AE2").Copy                               ' On duplique cette formule sur la plage
    Range("AE2").AutoFill Destination:=Range("AE2:AE449835"), Type:=xlFillDefault
    Range("AE2:AE449835").AutoFill Destination:=Range("AE2:AZ449835"), Type:=xlFillDefault
    Range("AE2:AZ449835") = Range("AE2:AZ449835").Value     ' On colle les valeurs
    Range("AE2").Select
    Application.CutCopyMode = False
End SubL'objectif est de trouver des correspondances selon 3 critères (2 colonnes et une ligne).
Le code fonctionne très bien sur des petit jeu de données (max 30k lignes). Comme vous pouvez le voir je souhaite appliquer la formule sur 449k lignes sur 22 colonnes. Avez-vous une solution pour optimiser ce code pour que les fomurles puissent s'appliquer sur tout mon jeu de donnée ?
Je vous met également un fichier test.
Merci beaucoup d'avance.
 
	 
 
		 
 
		 
 
		