Pas de doublon dans le noms des onglets

direct83

XLDnaute Junior
Bonjour,

j'ai besoin d'un peu d'aide

Soit un classeur comprenant plusieurs onglets avec différents noms. Ma question concerne seulement les onglets qui comportent des nombres en guise de nom soit pour ce qui m'intéresse les onglets de 1 à 11 mais il pourrait y en avoir plus 12, 13, 14 etc.
L'onglet 1 représente la première liste saisie
L'onglet 2 la deuxième et ainsi de suite

A un moment donné les listes étant saisies, ce qui détermine le nombre de mes onglets de 1 à 11 ou de 1 à 5 ou de 1 à 25, je reçoit une information de la préfecture me donnant l'ordre des listes.
Je voudrais changer le nom des onglets en fonction de cette information soit par exemple l'onglet 1 devient 3, l'onglet 2 devient 5, etc jusqu'à la fin de mes onglets numérotés.
Je voudrais aussi dans la même opération avoir la possibilité de ne renuméroter que celles que je choisirais. Par exemple j'ai dans un premier temps 11 listes donc 11 onglets numérotés de 1 à 11, je numérote que 5 listes en fonction d'un choix.
exemple
1 5
2 6
3 1
4 2
5 9
6 10
7 8
8 7
9 11
10 4
11 3
Puis dans un second temps
1 1
2 3
3 4
4 2
Il ne peut y avoir de doublons dans les noms d'onglets et les autre onglets autres que ceux comportant des numéros restent intact dans le nom

Merci de votre aide, j'espère ne pas avoir été confus
 

direct83

XLDnaute Junior
Re : Pas de doublon dans le noms des onglets

Merci de la réponse rapide
Effectivement j'avais vu la répone qui ne me convenais pas tout à fait car d'une part je n'avais pas testé l'incidence sur les autre onglets sans chiffre et d'autre part j'étais bloqué sur 11 ongletd avec l'obligation de les changer en totalité.
C'est effectivement un début de solution mais je voudrais avoir la possibilité de ne renseigner qu'une partie des onglets ou la totalité
Merci
 

Dranreb

XLDnaute Barbatruc
Re : Pas de doublon dans le noms des onglets

Bonjour.
Ne pourriez vous jouer sur la position des onglets ? Pour en changer un de place il suffit de le glisser déplacer à l'endroit où l'on veut parmi les autres. Une procédure pourrait éventuellement ensuite les renommer globalement selon leur position.
À +
 

direct83

XLDnaute Junior
Re : Pas de doublon dans le noms des onglets

Ce n'est pas la position des onglets qui est en cause mais leur numérotation qui doit changer en fonction d'une information. Ces 11 onglets, numérotés de 1 à 11, représentent onze listes en présence renseignées au fur et à mesure des données qui me parviennent. Je suis parti sur la base de onze listes en présence mais cela aurait pu être 5 ou 10 ou 25 etc.
Puis, je reçois l'information de classement de ces listes. Donc, il faut que je classe automatiquement ces listes d'après le nouvel ordre. Si je travaille avec un userform, je me bloque d'entrée avec le nombre de liste et je peux avoir des messages d'alerte de doublon.
Une dernière chose à savoir, dans mon classeur j'ai d'autres onglets qui ne sont pas concernés et pas numérotés de la même façon.
J'espère ne pas avoir été trop confus.
Merci de l'aide
 

Dranreb

XLDnaute Barbatruc
Re : Pas de doublon dans le noms des onglets

Ah… Après renumérotation les onglets doivent donc impérativement rester en désordre par rapport à leurs nouveaux numéro. Tant pis. Moi ce que j'en disais… J'y voyais juste un moyen commode pour commander le changement, car le rang d'un onglet est forcément unique.
 

direct83

XLDnaute Junior
Re : Pas de doublon dans le noms des onglets

peu importe qu'ils soient en ordre ou en désordre, je récupère le numéro de l'onglet et j'affiche un certain nombre d'information de cette liste sur une ligne que je travaille avec des formules et des MFC.
Ce qui est important c'est que je puisse travailler sur un nombre de liste donc un nombre d'onglet non bloqué pour la portabilité
Merci
 

Dranreb

XLDnaute Barbatruc
Re : Pas de doublon dans le noms des onglets

Avec ça on ne sait pas si vos autres feuilles sont devant ou derrière celles concernées…
De toute façon je ne vous écrirai ni ne testerai aucun code tant que vous n'aurez pas joint de classeur.
 
Dernière édition:

direct83

XLDnaute Junior
Re : Pas de doublon dans le noms des onglets

Je joins le fichier en question expurgé des données confidentielle.
Merci pour votre réactivité en précisant que la position des feuilles n'est pas figée.
Le numéro des onglets me sert à mettre en ordre l'affichage des données dans résultats élections dont je n'ai pas encore fait les liens.
Merci encore
 

Pièces jointes

  • Elections ForumExcel.xlsm
    195.1 KB · Affichages: 46

Dranreb

XLDnaute Barbatruc
Re : Pas de doublon dans le noms des onglets

Bon. je suppose qu'il s'agit de renommer les feuilles de noms "1" à "11" à la fin.
Mais, je reviens à la charge une dernière fois, plutôt que de saisir les nouveaux numéros dans un userform "Ordre préfectoral", si j'ai bien compris, est-ce qu'il ne serait pas plus simple de glisser les onglets, avec leurs anciens numéros, dans leur nouvel ordre préfectoral, et ensuite, une fois qu'ils sont tous dans l'ordre souhaité, en cliquant sur le bouton dans la feuille "Général", de renommer les feuilles suivant cet ordre ?

P.S: la procédure qui permettrait de renommer les onglets de noms numériques dans leur ordre d'apparition serait celle ci:
VB:
Private Sub CommandButton1_Click()
Dim F As Worksheet, Num As Long, Nom As String
For Each F In ThisWorkbook.Worksheets
   If IsNumeric(Replace(F.Name, "(Anc)", "")) Then ' Voir ci après pourquoi ne pas tenir compte de "(Anc)" dans le nom:
      Num = Num + 1: Nom = Num
      On Error Resume Next ' Le nouveau nom peut déjà être celui d'une feuille au delà, à renommer plus tard, donc :
      ThisWorkbook.Worksheets(Nom).Name = Nom & "(Anc)"
      On Error GoTo 0 ' Une feuille peut être renommée temporairement avec "(Anc)" à la fin.
      F.Name = Nom
      Application.EnableEvents = False
      F.[A1].Value = Num
      Application.EnableEvents = True
      End If
   Next F
End Sub
Elle inscrit de plus en A1 ce nouveau numéro, puisque j'ai vu qu'il y était, grâce à votre classeur joint.

Ouuh! je viens de voir lors d'un second test que ça pose un problème parce que ça déclenche les Worksheet_Change des feuilles.
Donc changer la fin de la boucle comme suit:
VB:
Application.EnableEvents = False
F.[A1].Value = Num
Application.EnableEvents = True
À +
 
Dernière édition:

direct83

XLDnaute Junior
Re : Pas de doublon dans le noms des onglets

Bonjour,

Merci de votre réponse. J'ai placé votre code dans la feuille "Général" et je ne vois pas ce qu'il produit. J'avais une commande qui me déclenchais à partir du bouton le userform.
Pouvez-vous m'expliquer votre démarche ?
J'ajoute un commentaire, il est certain que j'aurais pu simplement glisser les onglets mais ce que je souhaite c'est l'ergonomie c'est à dire la portabilité pour l'utilisateur. Il faut que cette action soit invisible.
Encore merci de votre implication
Oups ! j'ai compris, mais il faudrait que le "glissé" d'onglet soit automatique puisqu'au départ je créé feuille par feuille et dans l'ordre 1,2,3 etc.
 
Dernière édition:

direct83

XLDnaute Junior
Re : Pas de doublon dans le noms des onglets

Je reviens à la charge. En fait, milles excuses. Après vérification, je me suis aperçu que mes explications étaient en partie fausses.
Les onglets doivent garder leur numéros.
En effet, dans la feuille "Résultats élections" colonne A les listes sont affichées par numéro de 1 à 11. A partir de cette information, dans la lignes 9 par exemple s'affichent les informations relatives à la liste et le MFC. Après information préfectorale, c'est là que le changement a lieu et c'est ce que je veux faire. Donc dans cette colonne A qui sera cachée par exemple au départ la liste1 en position 1 ligne9 après information préfectorale par exemple position 3 ligne 11 et ainsi de suite.
Merci
 

Discussions similaires

Réponses
5
Affichages
223

Statistiques des forums

Discussions
312 931
Messages
2 093 719
Membres
105 794
dernier inscrit
mallet