Bonjour tout le monde,
Je viens vers vous car j'ai une erreur de capacité 6 sur un gros fichier excel. Alors j'ai fait le tour de la question.
Avec certains fichiers qui peuvent être plus gros cela marche et d'autre pas. (Le fichier 170 000 lignes et 170 colonnes)
Je vois met le début du code pour ceux qui on l'habitude de ce genre de question.
Private Sub Miseàjour_Click()
Dim ligne As Long
Dim O As Worksheet
Dim TV As Variant
Dim Critere1 As Long
Dim Critere1bis As Long
Dim Critere2 As Long
Dim Critere2bis As Long
Dim Critere3 As Long
Dim Critere3bis As Long
Dim Critere4 As Long
Dim Critere4bis As Long
Dim Critere5 As Long
Dim Critere5bis As Long
Dim Critere6 As Long
Dim Critere6bis As Long
Dim Critere7 As Long
Dim Critere7bis As Long
Dim Critere8 As Long
Dim Critere8bis As Long
Dim Critere9 As Long
Dim Critere9bis As Long
Dim Critere10 As Long
Dim Critere10bis As Long
Dim Critere11 As Long
Dim Critere11bis As Long
Dim Critere12 As Long
Dim Critere12bis As Long
Dim Critere13 As Long
Dim Critere13bis As Long
Dim Critere14 As Long
Dim Critere14bis As Long
Dim Critere15 As Long
Dim Critere15bis As Long
Dim Critere16 As Long
Dim Critere16bis As Long
Dim Critere17 As Long
Dim Critere17bis As Long
Dim Critere18 As Long
Dim Critere18bis As Long
Dim Critere19 As Long
Dim Critere19bis As Long
Dim Critere20 As Long
Dim Critere20bis As Long
Dim Critere21 As Long
Dim Critere21bis As Long
Dim Total As Long
Set O = Worksheets("Feuil1")
TV = O.Range("A1").CurrentRegion
Critere1 = 0
Critere1bis = 0
Critere2 = 0
Critere2bis = 0
Critere3 = 0
Critere3bis = 0
Critere4 = 0
Critere4bis = 0
Critere5 = 0
Critere5bis = 0
Critere6 = 0
Critere6bis = 0
Critere7 = 0
Critere7bis = 0
Critere8 = 0
Critere8bis = 0
Critere9 = 0
Critere9bis = 0
Critere10 = 0
Critere10bis = 0
Critere11 = 0
Critere11bis = 0
Critere12 = 0
Critere12bis = 0
Critere13 = 0
Critere13bis = 0
Critere14 = 0
Critere14bis = 0
Critere15 = 0
Critere15bis = 0
Critere16 = 0
Critere16bis = 0
Critere17 = 0
Critere17bis = 0
Critere18 = 0
Critere18bis = 0
Critere19 = 0
Critere19bis = 0
Critere20 = 0
Critere20bis = 0
Critere21 = 0
Critere21bis = 0
For ligne = 2 To UBound(TV, 1)
'Critère 1
If TV(ligne, 122) <> "" Then
Critere1bis = TV(ligne, 51)
Critere1 = Critere1 + Critere1bis
End If
J'utilise aussi un import de fichier peut-être que l'erreur peut venir de là
Private Sub ImportFichier_Click()
Dim I As Integer
Dim nom As String
Dim Nomdececlasseur As String
Dim Nomcopie As String
Dim chemin As Variant
Application.DisplayAlerts = False
chemin = Application.GetOpenFilename("Classeurs Excel (*.xlsx), *.xlsx")
Workbooks.Open (chemin)
'classeur à copier
Nomcopie = ActiveWorkbook.Name
'on parcourt toutes les feuilles
For I = 1 To Worksheets.Count
Workbooks(Nomcopie).Activate 'classeur à copier a adapter le nom
nom = Worksheets(I).Name
Nomdececlasseur = ThisWorkbook.Name
Sheets(nom).Select
Sheets(nom).Copy After:=Workbooks(Nomdececlasseur).Sheets(1) 'classeur à coller a adapter le nom
Sheets(nom).Move After:=Sheets(Sheets.Count) 'on met les onglets dans l'ordre
Next
Workbooks(Nomdececlasseur).Sheets(1).Activate
Application.DisplayAlerts = True
End Sub
Merci pour votre aide