Bonjour!

Je suis un étudiant en plein stage et j'aurais besoin d'aide!

Il y a 2 questions que j'aimerais poser :
- Premièrement, j'ai un classeur excel composé d'environ 35000 lignes, et je dois faire une comparaison entre deux colonnes A et B (comparer 2 références)
puis inscrire "O" ou "N" dans une autre colonne C, si la référence en A et la meme qu'en B. Pour se faire, je fais ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    Dim finColDistrib As Long, finColOT As Long, i As Long
    Dim res As Variant, search As Variant
    Dim rng As Range
 
    Worksheets("Feuil1").Activate
 
    finColOT = Cells(Rows.Count, "B").End(xlUp).Row
    finColDistrib = Cells(Rows.Count, "A").End(xlUp).Row
    Set rng = Range("B3:B" & finColOT)
 
    For i = 3 To finColDistrib
        search = Range("A" & i)
        Set res = rng.Cells.Find(What:=search, LookAt:=xlWhole)
        If (res Is Nothing) Then
            Range("C" & i) = "N"
        ElseIf (res = search) Then
            Range("C" & i) = "O"
        End If
    Next i
Le problème est que le temps d'exécution est vraiment trop long ... Est-il possible d'optimiser un peu svp?

- Deuxièmement, je copie une colonne avec une formule d'un classeur Class1 dans un autre classeur Class2, j'aimerais copier seulement la formule dans le Class2. Ca j'ai réussi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
    Dim classeurSrc As Excel.Workbook
    Set class1 = Workbooks.Open(cheminSrc & "Class1")
 
    class1.Worksheets("Feuil1").Activate
    finCol = Cells(Rows.Count, "A").End(xlUp).Row
    Range("A2:A" & finCol).Copy
    DisplayAlerts = False
    class2.Worksheets("Feuil1").Range("A2").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False,   Transpose:=False
    DisplayAlerts = True
 
    class2.Save
    class1.Close
Le problème est que, dans la formule, on a besoin des données qui se trouvent dans une autre feuille du classeur, et que donc, quand je copie la formule dans Class2, la formule va chercher les données nécessaires dans la Feuil2 de Class1 qui est le classeur d'ou je viens de copier la colonne... Il faudrait que la formule aille chercher les données dans la Feuil2 de Class2. Du coup, comment dois-je faire?

Je vous remercie d'avance!
Cordialement!