cs_malika_i
Messages postés38Date d'inscriptionmercredi 20 juin 2007StatutMembreDernière intervention29 juin 2007
-
21 juin 2007 à 18:52
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 2007
-
21 juin 2007 à 22:27
Bonjour,
Avez une idée de code pour supprimer une feuille excel si elle existe. Voici mon code mais il ne marche pas:
If Sheets("feuil1").value = 1 Then Sheets("feuil1").Delete
end if
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 21 juin 2007 à 19:03
Salut, j'ai placé le code
Sheets("feuil1").Delete
dans thisworkbook et ca a fonctionné. Tu es bien en VB.net car moi j'ai essayé sur Excel direct. Donc soit tu dois préciser le workbook soit bah, je sais pas.
il sera peut nécessaire de désactiver les alertes Excel (Displayalerts je crois).
cs_malika_i
Messages postés38Date d'inscriptionmercredi 20 juin 2007StatutMembreDernière intervention29 juin 2007 21 juin 2007 à 19:11
merci Nicko11,
Ma macro ne fonctionne pas car il n'y a aucune feuille existante.
En gros, je gére un projet et des feuilles se créent (et il faut à chaque fois les supprimer et en recréer), mais le probléme se pose au début de mon projet alors qu'il n'y a aucune feuille existante.
Par exemple, j'indique ceci :
If Sheets("rendements").Activate Then Sheets("rendements").Delete
end if
Ce code fonctionne parfaitement lorsque que cette feuille existe, mais au début de mon projet, VB ne la reconnait pas ce qui est logique puisqu'elle n'existe pas. C'est aussi pour ça que j'indique un if...
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 21 juin 2007 à 19:23
Salut à tous,
Croyez-vous vraiment que Malika apprendra à ouvrir ses discussion dans la section qui convient si, sans même lui faire observer son erreur, on continue à lui répondre dans la section VB.Net à des questions relatives à VBA ?
Quelle raison aurait-elle de corriger cette attitude ? Aucune, à mon avis...
Le plus grave est que ces "choses-là" font apparemment "de plus en plus de petits" (on le voit maintenant trop bien quotidennement) car les nouveaux arrivés, témoins de ces faits, prennent le même chemin...http://www.vbfrance.com/infomsg_CHECHBOX-SUR-EXCEL-BOUTON_967720.aspx
Il y a là, à mon sens, une responsabilité tout-à-fait partagée.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 21 juin 2007 à 20:08
Allé encore mieux car j'ai vu qu'il pouvais y avoir une erreur
Public Sub test()
For i = 1 To ThisWorkbook.Sheets.Count
If ThisWorkbook.Sheets.Item(i).Name = "Feuil1" Then
Application.DisplayAlerts = False
ThisWorkbook.Sheets("Feuil1").Delete
Application.DisplayAlerts = False
Exit For
End If
cs_malika_i
Messages postés38Date d'inscriptionmercredi 20 juin 2007StatutMembreDernière intervention29 juin 2007 21 juin 2007 à 20:13
ok mais dans ton second code, je serai obligé de retourné dans le VB pour changer le paramètre et sachant que je ne serais pas l'utlisateur, je préfére garder ton premier code qui m'a l'air tout a fait correct
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 21 juin 2007 à 22:27
En fait, ce que je disais c'est de changer la ligne.
Public Sub test()
For i = 1 To ThisWorkbook.Sheets.Count
If ThisWorkbook.Sheets.Item(i).Name = "Feuil1" Then
Application.DisplayAlerts = False
ThisWorkbook.Sheets("Feuil1").Delete
Application.DisplayAlerts = True Exit For
End If
Next
End Sub
Mais bon c'est toi qui choisit de toute maniere la facon dont tu veux gérer. A+