Aie aie, je dois etre mauvais dans mes explications.
Actuellement, j'ai la ligne 1 avec de "faux entête"
La ligne 3 est le vrai départ et se sont les bons entête.
Les colonnes ne sont pas figées. Ce qui veut dire qu'on doit d'abord chercher les entete en ligne 3 pour ensuite appliquer le reste de la macro. Ca marche très bien en ligne 1, et application des données a partir de la ligne 4, mais des que j'indique la ligne 3 comme début (en mettant les bons entete), il me dit qu'il ne les trouvent pas.
Dans mon teste avec le code ci dessous, si je mets :
If ac(3,1) =col(0) -- le message d'erreur sera : Adresse mac non truové
Ensuite je met elseif(3,i) -- le message d'erreur sera : n° de série non trouvé alors qu'il l'avait trouvé au début.
Dim Tbl(), ac, k, Col, i%, j%, n%
ac = Worksheets("Feuil1").Range("A1").CurrentRegion
'Traitement Adresse MAC
Col = Array("N°serie", "Adresse MAC"): k = Array(0, 0)
For i = 1 To UBound(ac, 2)
'remplacer 1 ci-dessous par ligne d'en-tête si pas 1 - Ne marche pas. Si je met la première valeur (AC3, I), il ne trouve pas l'adresse mac, si je met les 2 valeurs AC a 3, il ne trouve pas le numéro de série
If ac(1, i) = Col(0) Then
k(0) = i
ElseIf ac(1, i) = Col(1) Then
k(1) = i
End If
Next i
For i = 0 To 1
If k(i) = 0 Then
MsgBox Col(i) & " non détecté !" & Chr(10) & "Vérifier.", vbCritical, _
"Intitulé manquant"
Exit Sub
End If