Ouvrir feuille selon valeur cellule

ff145bv

XLDnaute Junior
Bonjour,

Grâce à l'aide de ce forum, j'ai réussi à fabriquer brique à brique un classeur excel composé de plusieurs feuilles, toutes cachées sauf celle d'accueil à l'ouverture.

Sur cette page d'accueil, l'utilisateur entre des infos : nom (H7), matière (H9), code (H11).

Chaque couple nom+matière étant lié à un code unique que le système connaît sur une page cachée, et qu'il recopie en cellule G16.

En comparant, G16 et H11, je sais maintenant créer en VBA un moyen de comparer la valeur entrée par l'utilisateur à celle attendue par le système.

Lorsque cette comparaison est valide (les deux cellules étant alors identiques), je voudrais que s'ouvre automatiquement l'onglet correspondant à la matière, sachant que l'onglet porte exactement le même nom que la matière entrée en H9. Idéalement, il faudrait d'ailleurs que cela cache la page d'accueil et que l'utilisateur soit automatiquement amené sur "sa" feuille... désormais unique.

A la fin de cette session de travail "idéale", j'aimerais que l'utilisateur termine sa session en cliquant sur un unique bouton qui provoquerait :
- le retour en mode caché de la page de la matière
- le retour en mode apparent de la page d'accueil
- l'enregistrement des données
- la fermeture du fichier

J'ai conscience d'être un peu inexpérimenté face à un projet très ambitieux... aussi je suis très preneur de toute l'aide que vous auriez la gentillesse de bien vouloir m'apporter.

Merci par avance à chacun.

ff145bv
 

Pièces jointes

  • VBA.zip
    21.1 KB · Affichages: 109
  • VBA.zip
    21.1 KB · Affichages: 117
  • VBA.zip
    21.1 KB · Affichages: 119
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Ouvrir feuille selon valeur cellule

Bonjour ff145bv

A 1ere vue je suis le 21 eme a etre rebuté par l'idée d'avoir a construire un fichier (correspondant a celui que tu decris ) pour avoir le loisir d'etudier ton problème
Avec un fichier denué de données confidentielles , reduit a quelques feuilles et comportant les elements propres au probleme , je te garantis une (et peut-etre même plusieurs ) solution rapide
 

ff145bv

XLDnaute Junior
Re : Ouvrir feuille selon valeur cellule

Bonjour ff145bv

A 1ere vue je suis le 21 eme a etre rebuté par l'idée d'avoir a construire un fichier (correspondant a celui que tu decris ) pour avoir le loisir d'etudier ton problème
Avec un fichier denué de données confidentielles , reduit a quelques feuilles et comportant les elements propres au probleme , je te garantis une (et peut-etre même plusieurs ) solution rapide

Merci pour ce conseil pierrejean.

Voilà qui est fait.

ff145bv
 

ff145bv

XLDnaute Junior
Re : Ouvrir feuille selon valeur cellule

Bonsoir le fil :),Maintenant si, mais le projet VBA est bloqué par mot de passe :mad:...
Pas envie de jouer à la blonde :p...
Bonne soirée :cool:

On pourrait croire que je fais exprès... mais même pas !!!

Je m'afflige tout seul.:(

Désolé. Je corrige immédiatement dans le message d'origine en espérant que quelqu'un repassera par là pour m'aider.

Merci pour votre patience !

ff145bv
 

JNP

XLDnaute Barbatruc
Re : Ouvrir feuille selon valeur cellule

Re :),
On pourrait croire que je fais exprès... mais même pas !!!
Mais c'est pas la meilleure solution pour avoir des réponses :p...
Code:
[COLOR=blue]Private Sub[/COLOR] Workbook_BeforeClose(Cancel [COLOR=blue]As Boolean[/COLOR])
[COLOR=blue]Dim[/COLOR] Feuille [COLOR=blue]As[/COLOR] Worksheet
[COLOR=blue]For Each[/COLOR] Feuille [COLOR=blue]In[/COLOR] ThisWorkbook.Worksheets
[COLOR=blue]If[/COLOR] Feuille.CodeName <> "Feuil1" [COLOR=blue]Then[/COLOR]
Feuille.Visible = xlSheetVeryHidden
[COLOR=blue]End If[/COLOR]
[COLOR=blue]Next[/COLOR]
[COLOR=blue]End Sub[/COLOR]
et
Code:
[COLOR=blue]Private Sub[/COLOR] Worksheet_SelectionChange([COLOR=blue]ByVal[/COLOR] Target [COLOR=blue]As[/COLOR] Range)
[COLOR=blue]If[/COLOR] Target.Address <> "$H$11:$I$11" [COLOR=blue]Then Exit Sub[/COLOR]
[COLOR=blue]If[/COLOR] Range("H7") & Range("H9") & Range("H11") = "Mlle ABBAFRMdP" [COLOR=blue]Then[/COLOR]
Sheets("FR").Visible = xlSheetVisible
Sheets("FR").Select
[COLOR=blue]End If[/COLOR]
[COLOR=blue]End Sub[/COLOR]
dans le code de ta feuille Accueil est un début à adapter avec MdP comme mot de passe :D.
Bon courage :cool:
 

ff145bv

XLDnaute Junior
Re : Ouvrir feuille selon valeur cellule

jnp,

Merci pour ton aide.

Juste une question car je crains de n'avoir pas été clair à la lecture de ton deuxième code.

Lorsque tu compares les cellules à "Mlle ABBAFRMdP", cela signifie-t-il que cet intitulé est différent d'un utilisateur à l'autre ou cela comparera toujours à ces données ?

Comme les intervenants sont tous différents selon les classes, cela en fait 25 pour cette année, et autant pour chacun des années à suivre. Je n'ai pas vraiment en tête de changer mon code en changeant d'enseignant. C'est pourquoi, je voulais savoir comment comparer la cellule H11 où le prof rentre manuellement son mot de passe, et la cellule G16 où le mot de passe pour cet enseignant est fournir par le système...

Ainsi, le classeur est valable automatiquement dès lors que j'aurai modifié les cellules de la feuille "Maintenance".

Je ne sais jamais trop si je suis assez explicite sur mon problème...

ff145bv
 

ff145bv

XLDnaute Junior
Re : Ouvrir feuille selon valeur cellule

Re

Suite MP

Vois si cela te convient

Pierrejean,

Encore une fois, merci beaucoup pour ton aide.

J'essaye depuis hier de comprendre le pourquoi et le commun de tes lignes de code mais j'avoue que ça me dépasse...

Quelques questions certainement bêtes (mais fort utiles pour moi) par exemple :
- comment puis-je désormais accéder à la page "Maintenance" ?
- J'ai essayé de rentrer "Mlle ABBA" + "FR" + "170380" sans que cela n'ouvre la page "FR" ou que ça referme la page "Accueil". En même temps, j'ai utilisé le bouton de la page accueil qui ne semble pas lié à une macro. Ai-je fait une fausse manip ?

En clair, vu ma difficulté à comprendre ce qui se passe, pourrais-tu m'indiquer comment utiliser le classeur que tu as eu la gentillesse de me renvoyer ?

Merci encore pour ton aide.

ff145bv
 

Softmama

XLDnaute Accro
Re : Ouvrir feuille selon valeur cellule

J'ai fait ce que j'ai compris de ce que t'as dit. cf. fichier joint.

Ceci dit, ta formule pour comparer le mdp me parait extrêmement lourde. Une chance que y a pas 100 matières et 2000 profs !. Un ptit code VBA résoudrait la reconnaissance du mdp bcp plus facilement à mon avis. De même, pour y voir un peu plus clair, j'ai nommé des cellules et des zones.
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Ouvrir feuille selon valeur cellule

Re

Effectivement , j'avais omis le mode d'emploi !!!

Les mots de passe individuels sont stockés dans la feuille Maintenance (dans le fichier de MDP1 a MDP6 pour Mlle Abba > Mr Salo

Pour acceder a la feuille Maintenance j'avais prevu de rentrer Administrateur avec comme mot de passe ADMIN mais j'avais fait un oubli a savoir que Administrateur n'existe pas dans la liste de validation

voila le fichier modifié
Pour acceder a la feuille Maintenance taper ADMIN en H11 puis Entrée
La liste des MDP en colonne S est bien evidement modifiable (y compris ADMIN)
Par ailleurs je n'ai rien prevu ni pour le bouton ACCES ,ni pour masquer la feuille Accueil
Si utile me le faire savoir
 

Pièces jointes

  • ff145bv_VBA.zip
    27.1 KB · Affichages: 93
  • ff145bv_VBA.zip
    27.1 KB · Affichages: 98
  • ff145bv_VBA.zip
    27.1 KB · Affichages: 90

ff145bv

XLDnaute Junior
Re : Ouvrir feuille selon valeur cellule

pierrejean,

Merci pour ton classeur. ;)

Je l'ai adapté à mon propre document dans sa version "complète"... mais j'obtiens alors un message qui me signale une :
"Erreur d'exécution '9':
L'indice n'appartient pas à la sélection"

Dès lors, les pages ne se ferment plus et je suis à nouveau bloqué. Comme je n'ai pas touché à ton code, j'avoue être à nouveau un peu perdu comme en atteste la pièce jointe.

Si je peux en profiter pour formuler une demande supplémentaire, serait-il possible que les enseignants aient à cliquer sur un bouton après avoir entré leurs données ? L'expérience m'a appris que tout le monde n'est pas à l'aise avec l'idée qu'il se passe des "choses" après avoir seulement taper "entrée".

Merci encore pour ton aide précieuse.

ff145bv
 

Pièces jointes

  • ff145bv_VBA2.zip
    42.8 KB · Affichages: 66
  • ff145bv_VBA2.zip
    42.8 KB · Affichages: 79
  • ff145bv_VBA2.zip
    42.8 KB · Affichages: 79

pierrejean

XLDnaute Barbatruc
Re : Ouvrir feuille selon valeur cellule

Re

Voici ton fichier avec macros adaptées

Attention Quand tu ajoutes une colonne les macros doivent etre adaptées (ce qui etait en H7 se trouve maintenant en F7)
Par ailleurs note qu'un code vu 002003 dans Maintenance doit etre entré 2003 dans accueil

PS: teste et reviens si tu tiens au bouton (je viens de m'apercevoir que j'ai omis cette demande)
 

Pièces jointes

  • ff145bv_VBA2.zip
    41.9 KB · Affichages: 96
  • ff145bv_VBA2.zip
    41.9 KB · Affichages: 93
  • ff145bv_VBA2.zip
    41.9 KB · Affichages: 98

Discussions similaires

Statistiques des forums

Discussions
312 393
Messages
2 087 972
Membres
103 688
dernier inscrit
Amadou