Re,
''...me renvoie sur une page 'Microsoft Visual Basic : Aide'
Impossible d'afficher la page..''
Exact ! J'avais pas remarqué cette anomalie car dans les versions jusqu'à 2000, F1 te renvoie sur l'utilisation des fonctions de feuille dans vba.
Sur un plan général, 'Application.' suivi du nom de fonction, permet d'utiliser toutes les fonctions de feuille de calcul.
D'autres syntaxes : ''Application.WorksheetFunction.'' ou ''WorksheetFunction.'' permettent d'avoir une aide à la saisie en proposant la liste des arguments afférents à la fonction.
Perso je n'utilise que la syntaxe Application.Nom de la fonction(arguments)
Cette syntaxe permet une meilleure compatibilité entre les versions. De mémoire (défaillante) il y a notamment un problème (je ne sais plus lequel) avec notamment WorksheetFunction et Match (pour XL 97 ce me semble...).
De façon générale, préférer les fonctions de feuille de calcul aux fonctions vba même si elles portent le même nom, elles sont beaucoup plus fiables.
On aurait pu, dans l'exemple présent, tout faire avec des fonctions de feuille :
If IsNumeric(Application.Match(Range('H' & x), zz, 0))
peut s'écrire :
If Application.IsNumber(Application.Match(Range('H' & x), zz, 0))
AV [aaa]
L'emploi de la syntaxe
Si tu as quelques complément d'info...
Je remets le code complet, en application du conseil d'AV :
Option Explicit 'Pour obliger à déclarer les Variables
Sub TheEliminator()
Dim Total As Long, X As Long
Dim Tag As Variant
Application.ScreenUpdating = False
Total = Range('a65535').End(xlUp).Row
Tag = Array('DP', 'FC', 'MG', 'AZ', 'BZ', 'CZ', 'DZ', 'EZ', 'FZ', 'GZ', 'HZ')
For X = Total To 2 Step -1
If IsNumeric(Application.Match(Range('H' & X), Tag, 0)) Then
Rows(X).Delete
End If
Next X
Application.ScreenUpdating = True
End Sub
Bonne Soirée
[ol]@+Thierry[/ol]Message édité par: _Thierry, à: 14/04/2006 19:45[/quote]