Bonjour,

J'ai un probléme concernant la création d'une macro. J'ai 2 tableaux sur 2 feuilles différentes. Dans le premier tableau j'ai des tuyaux (179000 au total) avec leur caractéristiques dont le type de sol dans lequel ils sont posés. J'ai regroupé ses tuyaux par groupe donc la dernière colonne du tableau représente les groupes auxquels appartiennent les tuyaux, il y a au total 438 groupes. Le deuxième tableau représente les groupes et dans la colonne type de sol de ce tableau j'aimerais que ma macro renvoie le type de sol qui apparait le plus dans chacun des groupes.
N tuyau Type de sol Groupe Groupe Type de sol
20001 1 1 1 1
20002 1 1 2 3
20003 2 1
20004 3 1
20005 3 2
20006 3 2
20007 1 2
Ci dessus il y a un exemple des 2 tableaux. J'ai fais le code suivant mais il m'indique une erreur : Run time error 1004, application-defined or object-defined error. C'est la ligne où j'insère la formule qui pose problème.

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
20
21
22
Sub Soil_type()
 
Dim k As Integer      'k est le numéro du groupe
Dim deb As Integer   'deb la premiere ligne de la plage
Dim fin As Integer     'fin la derniere ligne de la plage
 
    k = 1
    deb = 2
 
    For i = 2 To 179515 'i represente le numéro de ligne de la colonne type de sol du tableau 1
 
        If Worksheets("sheet1").Cells(i, 18) = k Then
            fin = i
        Else
            Cells(k + 1, 5).FormulaLocal = "=MODE.SNGL(sheet1!M " & deb & ": M " & fin & ")"
            deb = i
            k = k + 1
        End If
 
    Next
 
End Sub
Je ne comprends pas la ou les erreurs.
Merci de votre aide.

Pauline