Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

for-next pour supprimer des sheets inutilses

2 réponses
Avatar
Alfred WALLACE
Bonjour,

dans une feuille PARAMETRES
j'ai une zone nomm=E9e [parametres!LST_FEUILLES_INITIALES]
c'est en fait une series de cellules dispos=E9es horizontalement
et qui contiennent, par exemple : MA_FEUIL01 puis 1 cellule =E0 droite
MA_FEUILLE02
puis, 1 cellule =E0 droite PARAMETRES etc ....

je voudrais faire une boucle comme celle-ci :

For I =3D 1 To Sheets.Count

XX1 =3D _
Application.Match(Sheets(I).Name,
[parametres!LST_FEUILLES_INITIALES], 0)


next

donc, pour chaque feuilles existantes ( et certaines peuvent etre
cach=E9es) je regarde
si le nom de la feuille Sheets(I).Name se trouve (le match) dans la
zone
[parametres!LST_FEUILLES_INITIALES]

Ce que je n'arrive pas =E0 =E9crire :

SI je trouve la feuille, je la laisse. Si je ne trouve pas la feuille,
je supprime cette
feuille.

est-ce la bonne m=E9thode ? merci de votre aide.

Jos=E9

2 réponses

Avatar
JB
Bonsoir,

Sub SupFeuilles()
Application.DisplayAlerts = False
For Each f In ActiveWorkbook.Sheets
x = f.Name
If IsError(Application.Match(f.Name, [maliste], 0)) Then
f.Delete
End If
Next f
End Sub

Cordialement JB

Bonjour,

dans une feuille PARAMETRES
j'ai une zone nommée [parametres!LST_FEUILLES_INITIALES]
c'est en fait une series de cellules disposées horizontalement
et qui contiennent, par exemple : MA_FEUIL01 puis 1 cellule à droite
MA_FEUILLE02
puis, 1 cellule à droite PARAMETRES etc ....

je voudrais faire une boucle comme celle-ci :

For I = 1 To Sheets.Count

XX1 = _
Application.Match(Sheets(I).Name,
[parametres!LST_FEUILLES_INITIALES], 0)


next

donc, pour chaque feuilles existantes ( et certaines peuvent etre
cachées) je regarde
si le nom de la feuille Sheets(I).Name se trouve (le match) dans la
zone
[parametres!LST_FEUILLES_INITIALES]

Ce que je n'arrive pas à écrire :

SI je trouve la feuille, je la laisse. Si je ne trouve pas la feuille,
je supprime cette
feuille.

est-ce la bonne méthode ? merci de votre aide.

José


Avatar
Alfred WALLACE
standing ovation !!!

Merci encore

José

Bonsoir,

Sub SupFeuilles()
Application.DisplayAlerts = False
For Each f In ActiveWorkbook.Sheets
x = f.Name
If IsError(Application.Match(f.Name, [maliste], 0)) Then
f.Delete
End If
Next f
End Sub

Cordialement JB

Bonjour,

dans une feuille PARAMETRES
j'ai une zone nommée [parametres!LST_FEUILLES_INITIALES]
c'est en fait une series de cellules disposées horizontalement
et qui contiennent, par exemple : MA_FEUIL01 puis 1 cellule à droite
MA_FEUILLE02
puis, 1 cellule à droite PARAMETRES etc ....

je voudrais faire une boucle comme celle-ci :

For I = 1 To Sheets.Count

XX1 = _
Application.Match(Sheets(I).Name,
[parametres!LST_FEUILLES_INITIALES], 0)


next

donc, pour chaque feuilles existantes ( et certaines peuvent etre
cachées) je regarde
si le nom de la feuille Sheets(I).Name se trouve (le match) dans la
zone
[parametres!LST_FEUILLES_INITIALES]

Ce que je n'arrive pas à écrire :

SI je trouve la feuille, je la laisse. Si je ne trouve pas la feuille,
je supprime cette
feuille.

est-ce la bonne méthode ? merci de votre aide.

José