Code permettant de créer et nommer un onglet qui n'existe pas dans le fichier de

Signaler
-
 fabiendag -
Bonjour,
je dispose d'un dossier "A" qui contient des fichiers nommés différemment mais au même format, et d'un fichier excel"B" (fichier de base) qui doit contenir des onglets nommés à partir des 4 premiers caractères des fichiers dans "A". je dois donc d'abord vérifier si cet onglet existe dans le nouveau fichier et le créer s'il n'existe pas... voilà mon code mais il ne fonctionne pas:
sPremierCaractères = Left(oFichier.Name, Len(oFichier.Name) - 8)
If ((Left(oFichier.Name, Len(oFichier.Name) - 8)) <> "Extractio" And Left(oFichier.Name, 1) <> "~") Then
iTab = 7
For Each WSheet In Workbooks("Classeur").Worksheets

If Workbooks("Classeur").Sheets(sPremierCaractères) Is Nothing Then
Workbooks("Classeur").Activate
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = Sheets(sTab)
Exit For
End If
Next WSheet
sTab = Left(oFichier.Name, Len(oFichier.Name) - 8)

End If

4 réponses

quelqu'un pourrait il m'aider à le débugger (le bug est quand il ouvre un fichier dont les 4 premiers caractères ne correspondent pas à un onglet dans le fichier de base il plante et ne fait rien)
Bonjour mia,
si tu mets ton code, mets le en entier...
A quoi ofichier correspond-t-il ?
c'est quoi le message d'erreur quand il plante ?


Fabien
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,
J'ai plus d'une fois montré comment ajouter une feuille que si non existante.
A ce propos : un "onglet" n'est pas une feuille. Il n'en est que le pointeur.
On n'"ajoute" donc pas un "onglet", mais une FEUILLE. Un ongletr est alors créé par Excel pour pointer vers cette FEUILLE !
Il est IMPORTANT de bien comprendre cette base.
Ouvre cette discussion entre autres) :
Tapez le texte de l'url ici.
analyse le code que j'y ai montré dans mon message du 3 février 2013 à 20:47:33 ===>>
il ajoute précisément une feuille, à condition qu'elle n'existe pas déjà.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
tiens bah j'irais voir comment tu fais :)


Fabien