MODULE POUR CRÉER ET SUPPRIMER DES ONGLETS DANS UN FICHIER EXCEL EN VB OU VBA

Jean_Elens Messages postés 53 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 16 octobre 2006 - 3 août 2005 à 21:42
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012 - 16 juin 2006 à 23:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33044-module-pour-creer-et-supprimer-des-onglets-dans-un-fichier-excel-en-vb-ou-vba

Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
16 juin 2006 à 23:22
Salut Adeynack,

J'ai bien compris ton problème. Mais je ne connais pas la solution pour l'intant. Mais je te promet de chercher lundi !
Je reviens vers toi dès que j'ai du nouveau.

à lundi !
Adeynack Messages postés 1 Date d'inscription vendredi 16 juin 2006 Statut Membre Dernière intervention 16 juin 2006
16 juin 2006 à 20:12
Bonjour Squall (surement un fan des mêmes jeux que moi)

Petite question ici, j'en demande à ton expérience en VBA. J'utilise la méthode "Delete" pour supprimer une feuille (un onglet) Excel à l'intérieur de mon application (si on peut appeller du Excel/VBA une "application") et je me retrouve avec un problème un peu enmerdant. Voici la séquence d'opération:

- Une feuille cachée sert de "template" pour la création de nouveaux bordereaux d'expédition.

- À la création d'un nouveau bordereau, je copie cette feuille, le rend visible, en change le nom et le remplis. L'onglet copié contiens du code pour une raison très précise et est ainsi copié.

- Quand j'annule un de ces bordereau, j'utilise la méthode "Delete" pour l'onglet...

Le problème surviens alors: la feuille Excel est réèlement supprimé en bonne et due forme, mais le module de code créé pour cette feuille demeure et DE PLUS il n'est pas supprimable manuellement dans l'éditeur VBA.

Aurait-tu déjà fait face à ce problème? Si oui: connais-tu une facon de le contourner?

Merci :)
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
16 mars 2006 à 09:30
Salut Migmag1,

Pour intégrer le module dans ton projet, tu clique sur :
Fichier > Importer un fichier...
Et tu sélectionne le module. Il sera ainsi intégré à ton projet.
MIGMAG1 Messages postés 3 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 24 février 2007
15 mars 2006 à 19:35
Bonjour et MERCI pour l'effort fourni

Cependant je suis débutant en vb et je n'ai pas su comment exécuter cette phrase :
"Il vous suffit d'intégrer ce module dans votre projet VB ou VBA"

merci de bien vouloir me répondre..
migmag1
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
12 août 2005 à 16:13
De rien Morsi.

Seulement 6 ??? ok ok c'est pas un code révolutionnaire mais quand même ! Ne soyez pas trop sévères !
cs_morsi Messages postés 20 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 28 juin 2006
12 août 2005 à 16:10
Merci Squall____ pour tes réponses si rapide ;)
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
12 août 2005 à 15:55
Oui, mais si tu regarde bien, mon module le gère tout seul.

ligne 83 : Application.DisplayAlerts = False
Ceci désactive les alertes automatiques d'excel
ligne 84 : Workbooks(Nom_Classeur).Sheets(Nom_Onglet).Delete
Ceci efface l'onglet
ligne 85 : Application.DisplayAlerts = True
Ceci réactive les alertes automatiques car si tu ne les réactives pas, il se peut très bien que tu clique sur la croix en haut à droite par mégarde et Excel ne te demanderas même pas si tu veux enregistrer d'abord. Cela expose à des risques de perte de données de laisser le displayalerts à false !
cs_morsi Messages postés 20 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 28 juin 2006
12 août 2005 à 15:48
ça m'arrive toujours de trouver la réponse une fois j'ai posté la question :)

Application.DisplayAlerts = False !
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
12 août 2005 à 15:46
Mettez moi une note au moins ! Please ! Pitié !
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
12 août 2005 à 15:45
Il suffit de changer le dernier argumment de ma fonction à true.
Exemple :

If SupprimerOnglet(Nom_Du_Fichier_Excel, Nom_De_Longlet_A_Supprimer, True) = True Then
Action à faire quand l'onglet est bien supprimé
else
Action à faire quand l'onglet n'as pas été supprimé
end if
cs_morsi Messages postés 20 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 28 juin 2006
12 août 2005 à 15:03
comment supprimer un onglet sans avoir de messages "Voulez vous supprimer ..." ?
cs_morsi Messages postés 20 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 28 juin 2006
12 août 2005 à 15:01
Oui mais si je veux supprimer un onglet sans avoir le message de confirmation de la suppression ?
même le Docmd.Setwarnings = False n'a pas d'effet !
Squall____ Messages postés 65 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 11 septembre 2012
4 août 2005 à 09:38
Je ne suis pas d'accord avec toi Jean_Elens, tu n'as qu'a regarder a quelle place ce trouve le mot clé "excel" (première) et le mot clé "vba" (32ème) dans les statistiques de recherche sur ce site !

Merci quand même pour ton commentaire.
Jean_Elens Messages postés 53 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 16 octobre 2006
3 août 2005 à 21:42
Fort VBA Excel et pas très VB 6 ou VB .net.
Peut-être pas le bon site pour poster quelque chose comme ça.
Bon courage pour la suite.
Rejoignez-nous