Creation Worksheets d'après Liste Valeurs

  • Initiateur de la discussion Initiateur de la discussion yremy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

yremy

XLDnaute Junior
Bonsoir à tous !

J'ai trouvé ici une (plusieurs) macro(s) me permettant de constituer des onglets pour chaque article d'une liste selon tel ou tel modèle, et de les nommer en fonction.

Le souci, c'est que je ne peux "mettre à jour" la liste (et créer de nouveaux onglets), car j'obtiens un message d'erreur d'Excel qui me dit que plusieurs onglets ne peuvent avoir le même nom : j'ai bien saisi que la macro recommence tout depuis le début. De la liste.

Mais je ne souhaite pas effacer les Worksheets existantes ; juste créer les onglets qui ne l'ont pas encore été. Créés.

J'ai vu comment stopper une macro si la feuille existe, comment effacer un onglet s'il existe, mais je ne vois pas comment lui faire faire un onglet d'après une nouvelle valeur dans une liste qui a déjà permis de créer des onglets qui dorénavant, existent, eux aussi...

...Problème existentiel ? Dualité ? Insoutenable légèreté des acquis en VBA ?

Comment pourrais-je contourner le problème, sachant qu'il le sait bien lui, Excel, quelles sont les Worksheets qui existent déjà ? Si si, j'en suis sûr !

Comment écrire : "vérifie que tous les éléments de la liste sont bien représentés en tant qu'Onglet, et puis si t'en vois un qui n'a pas les Onglets qu'il devrait avoir, tu les crées, mais surtout tu touches pas au contenu des Onglets qui existent déjà. Ca serait pas cool".

Il fait froid ce soir à Chamonix. J'ai l'Onglet.

🙁

Thank You (Merci : en Onglet) Mille fois !
 

Pièces jointes

Re : Creation Worksheets d'après Liste Valeurs

Bonsoir

Deux procédures à modifier

Code:
Function feuillexist(nom As String) As Boolean
Dim n As Integer
feuillexist = False
For n = 1 To Sheets.Count
  If Sheets(n).Name = nom Then
  feuillexist = True
  [COLOR="Red"]Exit For[/COLOR]
Next n
End Function

Dans le corps de la macro écrire
Code:
If [COLOR="Red"]feuillexist(("Factures ") & Sheets("Fournisseurs").Range("B" & X)) = False[/COLOR] Then

au lieu de
If Not feuillexist(Sheets("Fournisseurs").Range("B" & X)) Then
la fonction feuillexist renvoyant "true" ou "False" et dans le nom il manque "Factures "

JP
 
Re : Creation Worksheets d'après Liste Valeurs

Merci Beaucoup jp14 !

En définitive, j'ai encore des erreurs 1004 sur la méthode coller, des 9 ; des messages me signalant des mêmes noms...

Alors j'ai fais une page "CréerFiche" dédiée qui crée les onglets, les efface de la liste (du "formulaire"), la reporte dans un fichier final où tout est centralisé.
J'ai joint le fichier final.

J'ai un Onglet en plus.
Je file. A l'Onglet. Ou aux échalotes. Bleu.

Encore Merci.
Yves
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour