Aiguillage vers une autre feuille à partir de "Microsoft Excel Objects"

Bonjour,

je souhaite afficher une nouvelle feuille suite à clic sur une cellule de la feuille en cours.

Cela se déroule bien, sauf que les cellules que je souhaite renseigner sur la nouvelle feuille ne sont pas actualisées à l'affichage de celle-ci.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim NomMois As String, NoCol As Single, NoLig As Single

    If Not Intersect(Range("A1:AH9"), Target) Is Nothing Then
        Target.Offset(0, 1).Select
    End If

    If Not (ActiveCell.Row > 9 And ActiveCell.Row < 26) Then
        Exit Sub
    End If
    If Not (ActiveCell.Column > 3 And ActiveCell.Column < 34) Then
        Exit Sub
    End If

    NoLig = ActiveCell.Row
    NoCol = ActiveCell.Column
    ResaJour = Cells(10, NoCol)
    NomMois = Range("M7").Value

    Choix = MsgBox("Voulez-vous une résa pour le " & ResaJour & " " & NomMois & " ?", vbYesNo, "Demande de confirmation")
    If Not (Choix = 6) Then
        Exit Sub
    End If

    ResaHoraire = Cells(NoLig, 2)
    ResaJour = ResaJour

' Affichage de la page "Saisie de la Réservation de la salle"
    MsgBox " Accès à la réservation"

    Sheets("SaisieRésa").Select

    Range("D6").Value = BatNom
    Range("D8").Value = SalleNom
    Range("H7").Value = NomMois & " " & NoAnnée

End Sub

Lorsque je trace le déroulement du code au pas à pas, les rubriques 'BatNom', 'SalleNom', 'NomMois' er NoAnnée sont bien aux valeurs correctes.

Avez-vous une idée de mon erreur de codage ?

Merci

Daniel

Bonjour

Dans cette partie de code

    If Not Intersect(Range("A1:AH9"), Target) Is Nothing Then
        Target.Offset(0, 1).Select
    End If

Le code ne saurait fonctionner si vous cliquez entre A1 et AH9 il va boucler indéfiniment sur cette partie puisque l'instruction Select va relancer le code sur la ligne Private sub....
Pouvez-vous expliquer ce que vous voulez faire ?
Là si vous cliquez sur A1, vous sélectionnez la colonne B et suivant pour arriver à AI1 --> Pourquoi ?

sauf que les cellules que je souhaite renseigner sur la nouvelle feuille

Vous parlez de la feuille SaisieRésa ?

Bonjour,

je suis en phase d'élaboration de mon projet. Donc la cinématique n'est pas complète.

Je procède par étape.

Je suis sur la feuille "SalleRésa" et je clique sur une case afin d'aller sur la feuille suivante "SaisieRésa".

Lors de l'exécution au pas à pas, je passe bien sur la dernière instruction et j'affiche bien la page "SaisieRésa", mais avec les rubriques

devant être renseignées qui ne le sont pas alors que les 'BatNom', 'SalleNom', 'NomMois' et "NoAnnée" sont aux bonnes valeurs.

Voilà le fichier joint : sur la page "Menu" je clique sur "Réservation" qui m'envoie sur la page "SalleRésa". Je clique sur une case à l'intérieur du tableau

"Jour" - Tranche horaire" et alors je rentre dans la "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" de "SalleRésa"

Voilà.

Cordialement

Daniel

Merci de vos explications
En gros vous cliquez dans le planning entre D11 et H25 et cela vous amène sur la feuille Saisierésa. Correct ?

1. Proposition : On peut supprimer toutes les données à droite de la colonne AH et mettre les infos dans le tableau comme ceci :
- MFC : formule que vous avez actuellement mais en la mettant dans le MFC après avoir sélectionné le tableau D11 à AH25
- le X pour la réservation dans le tableau là où mettez la couleur Jaune. De la on peut ajouter la couleur jaune comme vous le faite avec la MFC mais sur base d'un x ou pas dans le cellule correspondant au jour

2. Supprimez la couleur blanche dans le tableau. Il vous suffit d'utiliser la fonction excel en décochant la case "Quadrillage" dans le menu Affichage. Les couleurs cela alourdit parfois le fichier.

Bonjour Dan,

merci pour vos informations/préconisations.

Je mets en place

Cordialement

Daniel

Bonjour

merci pour vos informations/préconisations.
Je mets en place

Heu ok, mais j'avais déjà commencé votre fichier dans ce sens.... et modifié le code

Dites moi si je continue ou j'attends votre retour

Bonjour,

et bien continuez. Merci beaucoup.

Cdt

Daniel

Bonjour

Je suis sur la feuille "SalleRésa" et je clique sur une case afin d'aller sur la feuille suivante "SaisieRésa".

Oui mais si vous êtes dans le mois et que vous cliquez sur une cellule (puis plus tard sur une autre), le code refait chaque fois la même chose alors qu'en fait vous n'avez besoin d'appliquer qu'une seule fois le nom du batiment et de la salle

Donc là je me pose une question au sujet du code qui s'exécute à la sélection et du bouton Valider en dessous.

Pouvez-vous me dire l'idée suivie pour le bouton valider sachant que votre code à la sélection envoie déjà les données dans la feuille Saisierésa

Bonjour,

en fait, il ne serre plus à rien. Je suis en phase d'élaboration de la cinématique, et celà va donc évoluer.

Cdt

Daniel

Votre fichier en retour

Lorsque vous cliquez dans une cellule du mois (donc entre D11 et AH25). A la confirmation du message :

1. un X se mettra dans la cellule qui sera mise en jaune
2. cela ajoutera le batiment, la salle et le mois dans la feuille SaisieResa

Si vous resélectionnez la cellule et cliquez sur Non dans le message, le X et la couleur jaune seront supprimés

Maintenant comme je vous ai expliqué, si vous sélectionnez à nouveau une autre cellule du mois, le code sera à nouveau exécuté et remettra les mêmes infos de batiment et salle (alors que cela est déjà pris en considération par la première cellule utilisée). On peut arranger cela bien entendu

LE code dimensionne automatiquement si vous avez plus de colonne après AH
J'ai enlevé la couleur Blanche sur le fond de la feuille (cela peut alourdir un fichier - du moins dans certaines versions précédentes d'excel c'était le cas). Si vous ne voulez pas voir le quadrillage des cellules, il faut décocher la case dans le menu Affichage.

A voir suivant vos commentaires sur cette version

Edit : fichier modifié

Rechercher des sujets similaires à "aiguillage feuille partir microsoft objects"