Rechercher : dans
Par :

Avec Excel, vérifier l'existance d'une feuill

Dernière réponse le 17 jui 2009 à 11:14:36 tacotac, le 10 mar 2006 à 11:24:23 
 Signaler ce message aux modérateurs

Bonjour à tous
Existe t'il en VBA, un moyen de savoir si une feuille nommée "toto" (par exemple) existe dans un classeur ?
Merci

Meilleures réponses pour « avec Excel, vérifier l'existance d'une feuill » dans :
Transformer un fichier Microsoft Excel (.xls) en PDF VoirTransformer en fichier PDF un fichier Microsoft Excel (.xls) Rien de plus simple ! Ouvrez votre fichier *.xls avec OpenOffice.org Réglez éventuellement la mise en page par le menu Format / Page... Dès lors, 2 solutions pour transformer en...
Tableur - L'interface d'Excel VoirPrésentation d'Excel Microsoft Excel est le tableur de la suite bureautique Microsoft Office. Pour le lancer il suffit de cliquer sur l'icone appropriée de votre menu Démarrer (sous Windows) ou bien de cliquer sur un fichier Excel (dont...

1

tacotac, le 10 mar 2006 à 11:36:43

Je souhaiterais modifier ma demande précèdente.
Existe t'il en vba le moyen de supprimer les feuilles d'un classeur qui ne sont pas nommées toto ou titi (par exemple) ? MERCI A L'AVANCE

Répondre à tacotac

2

gbinforme, le 10 mar 2006 à 12:18:04

Bonjour

Cette macro devrait répondre à ta demande :

Sub sup_feuilles()
' suppression des feuilles
dim i,j as integer
dim codfeu as string
codfeu = "t?t?"
Application.DisplayAlerts = False
j = Worksheets.Count
i = 1
Do Until j < i
If InStr(1, Worksheets(i).Name, codfeu) = 0 Then
' suppression feuille si le nom ne comporte pas le "code feuille"
Worksheets(i).Delete
j = j - 1
Else
i = i + 1
End If
Loop
Application.DisplayAlerts = True
End Sub


Elle ne garde que les feuilles nommées titi ou toto ou tztz
en raison du "?".

pour d'autres noms il faut changer le paramètre "codfeu"


toujours zen

Répondre à gbinforme

5

maksym92, le 15 mai 2008 à 14:16:19

Salut!
J'ai un besoin similaire: je cherche à faire une macro qui supprime des feuilles "Année1", "Année2" sachant que le nombre de ces feuilles est une variable. J'ai essayé votre macro mais elle ne fait rien (pas de message d'erreur mais pas de modification dans Excel). Avez vous une explication?
Voilà ma macro:

Sub sup_feuilles()
Dim i, j As Integer
Dim codfeu As String
codfeu = "Année?"
Application.DisplayAlerts = False
j = Worksheets.Count
i = 1
Do Until j < i
If InStr(1, Worksheets(i).Name, codfeu) = 1 Then
Worksheets(i).Delete
j = j - 1
Else
i = i + 1
End If
Loop
Application.DisplayAlerts = True
End Sub

Répondre à maksym92

6

licool, le 15 mai 2008 à 17:53:31
  • +2

Salut,

essayes ça :

Sub Supr_feuil()
For Ctr = Sheets.Count To 1 Step -1
If Sheets(Ctr).Name Like "Année*" Then
SendKeys ("{ENTER}")
Sheets(Ctr).Delete
End If
Next
End Sub

Répondre à licool

3

franckystar, le 11 nov 2007 à 12:56:28

Bonjour,

je realise une boucle sur chaque feuille de mon classeur mais celles ci sont nommés Feuil+un chiffre qui ne sont pas consecutifs (ex : feuil1, feuil2, feuil5, feuil15, etc... mais organiséés tout de meme par ordre croissant.

je souhaiterai tester chaque feuille de mon classeur mais avec ma boucle, dès que ma fonction rencontre la feuille 3 par exemple il plante car elle n'existe pas.

quelqu'un pourrait m'aider svp??
merci

Répondre à franckystar

4

gbinforme, le 11 nov 2007 à 16:34:08
  • +3

Bonjour

avec ma boucle, dès que ma fonction rencontre la feuille 3 par exemple il plante car elle n'existe pas.

L'on ne sait absolument pas ce à quoi sert ta boucle mais elle ne part sûrement pas sur un algorithme approprié puisqu'elle ne fonctionne pas. Quelque chose comme ceci devrait fonctionner :

Sub sel_feuilles()
Dim i as integer
For i = 1 to  Worksheets.Count
    If Worksheets(i).Name = "mon test" Then
        ' "mon code"
    Else
        '  "mon autre code"
    End If
Next i
End Sub

toujours zen

Répondre à gbinforme

7

 zouzou75, le 17 jui 2009 à 11:14:36

Même si c'est plus d'un an après,

merci à gbinforme pour le code, ça m'a été très utile!

Répondre à zouzou75
Collection CommentÇaMarche.net