XL 2010 Macro pour chercher un onglet et s'y rendre

CestPasMoi

XLDnaute Nouveau
Bonjour,

Je suis en train de mettre en place un système de suivi de dossiers d'une équipe. Jusque là, rien de bien compliqué.
La règle est simple: 1 onglet = 1 dossier client. Chaque onglet est identique.

Pour éviter tout problème de nom, j'ai déjà mis en place une macro qui nomme l'onglet automatiquement selon le nom du client (indiqué en case C2).

Vu que le fichier Excel va se retrouver au final avec beaucoup d'onglet, je voudrais faire un sommaire. Et c'est là que je commence à avoir des questions. J'espère pouvoir m'expliquer suffisamment clairement, car je ne sais pas si ce que je vais vous demander est faisable.

Question 1:
Sur l'onglet sommaire, je vais mettre les noms des dossiers manuellement. Est-il possible de faire une formule ou une macro qui m'indique alors la présence sur le fichier Excel d'un onglet de ce nom là? La réponse étant alors binaire (oui/non) et permettant alors à l'utilisateur de cliquer sur la macro que j'ai mis qui rajoute une nouvelle feuille près à l'emploi.

Question 2:
Je voudrais pouvoir me rendre facilement sur l'onglet du dossier.
Je pourrais faire des macros classique comme je fais d'habitude en nommant une case et en faisant la macro "Go To". Sauf que dans ce cas précis, il faudra aller nommer manuellement la cellule. Et je vais avoir bcp d'onglet. D'où ma question.
Vu que j'ai la liste de tous les onglets sur la feuille sommaire (disons colonne A), je pourrais faire en B1 une liste déroulant incluant tous les noms de la colonne A. Je vais donc sélectionner un B1 un dossier. Y a t il une macro qui me permette de me rendre en case A1 de l'onglet ayant comme nom le contenu de la cellule B1?

J'espère avoir été le plus clair possible dans ma demande (j'ai eu du mal à la formuler).

En vous remerciant par avance.
 

CestPasMoi

XLDnaute Nouveau
C'est moi, j'vous dis !!!
Merci ça marche parfaitement.
Donc dans mon onglet sommaire, j'aurais cette liste avec les onglets. C'est impeccable.

J'en profite qu'il y ait des sachants en ligne:
- Peut-on reclasser par ordre alphabétique des onglets via une macro?

- Quand, sur la feuil1, on va cherche la case A1 de la feuil2, on a =Feuil2!A1
Mais si, sur la feuil1, je note en A2 "Feuil2", quelle formule utiliser en B2 pour avoir au final "=Feuil2!A1" mais en indiquant =valeur de la cellule A2!A1

- J'en reviens à ma question 1 de mon premier post. Si je reprend le fichier mis en exemple, j'ai donc l'onglet sommaire, puis 10 autres onglets, Feuil1 à Feuil 10.
Si, sur les cases A1 à A11 de l'onglet sommaire, j'inscris Feuil1 à Feuil11, quelle formule utiliser en B1 à B11 pour m'indiquer si un onglet du même nom existe dans le fichier Excel. Dans mon exemple, Feuil1 à Feuil10 existent, mais pas Feuil11

Merci
 

Lone-wolf

XLDnaute Barbatruc
Re

Pour le tri et vérification d''existence

VB:
Option Explicit

Sub Tri_Feuilles()
Dim sh As Worksheet, derlig As Long, i As Long, k As Long, x As Integer

  derlig = Sheets("Sommaire").Cells(Rows.Count, 1).End(xlUp).Row

  For i = 1 To Sheets.Count
  For x = 1 To (i - 1)
  If (UCase(Sheets(i).Name) < UCase(Sheets(x).Name)) Then
  Sheets(i).Move before:=Sheets(x)
  Exit For
  End If
  Next x
  Next i

  For Each sh In ActiveWorkbook.Sheets
  For k = 2 To derlig
  If sh.Name <> Sheets("Sommaire").Cells(k, 1) Then
  MsgBox "La feuille n'existe pas, veuillez la créer.", , "ERREUR"
  End
  End If
  Next k
  Next sh

End Sub

Pour la formule en A2 : tu nomme la cellule A1de la feuill2 "onglet" par exemple et en B2 =onglet
 
Dernière édition:

CestPasMoi

XLDnaute Nouveau
Merci pour tout, ça marche.
J'ai juste rajouter un "on error goto errorhandler" aux lignes de PierreJean pour pouvoir effacer la cellule où il y a la liste déroulante.

Le fichier prend forme, tout est parfait. Je vais donc pouvoir facilement créer 1 onglet par dossier gérer.
Je vais avoir plus de 150 dossiers, donc 150 onglets. Je ne vais donc pas pouvoir nommer la cellule A1 de chaque onglet manuellement, surtout que plusieurs personnes vont utiliser le fichier et que je ne peux pas leur demander de cette cette manip.

Dans mon idée, je voulais faire un onglet global où je trouve tous les dossiers, histoire d'y voir clair.
Ex: En case C8 de chaque onglet, j'ai le régime fiscal du client. J'ai au total 3 onglets clients (AAA, BBB et CCC), qui se nomment automatiquement par le nom du client.
Dans mon onglet global, j'aurais voulu dans la colonne A reprendre tous les dossiers. Idéalement de manière automatique, sinon, je retape manuellement le nom.
Disons en A2 le nom "AAA", en A3 "BBB" et en A4 "CCC".
En colonne B, j'aurais voulu qu'Excel valide que j'ai bien un onglet de ce nom là.
Puis, en colonne C, il me reprend la case C8 de l'onglet dont le nom est en colonne A.
Là, je pensais faire =INDIRECT(CONCATENER("";A2;"!C8")) pour récupérer la case C8 du client AAA

Est-ce que tout cela vous semble possible?



Merci beaucoup pour vos retours.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 317
Membres
102 862
dernier inscrit
Emma35400