Modification nouvelle feuille après fermeture d'un formulaire

Bonsoir à tous,

J'ai un classeur avec 03 feuilles (feuil1, feuil2 et feuil3) verrouillées sans mot de passe. J'ai permis la modification de la cellule G2 de la feuil3 bien que la feuille soit verrouillée.

J'ai le code suivant pour ouvrir feuil2 et ouvrir mon formulaire

Sub ouvrir_formulaire()
'activer feuil2 puis lancer le formulaire
Sheets("feuil2").Activate
UserForm1.Show
End Sub

Dans le formulaire, j'ai le code ci-après affecté à une image pour fermer le formulaire et ouvrir la feuil3

Private Sub mon_image_Click()
'fermer le formulaire puis activer la feuil3
Unload UserForm1
Sheets("feuil3").Activate

End Sub

Mon problème est qu'une fois sur la feuil3, après un clique sur l'image permettant la fermeture du formulaire, je n'arrive pas à saisir des données dans la cellule G2 de la feuil3. Excel me demande de déverrouiller feuil3 avant de modifier la cellule G2 alors que la cellule n'est pas verrouillée.

Quand j'essaie de déverrouiller la feuil3, c'est plutôt la feuil2 qui se déverrouille.

Pourriez vous m'expliquer ce qui cloche et m'aider avec une solution?

ci-joint le fichier

Salut,

J'ai testé ton fichier j'arrive bien à modifier G2 de la feuille 3 après fermeture de ton formulaire.

Peux-tu réaliser une capture d'écran de ton problème ?

Bonne soirée

Salut Ergotamine,

J'imagine que tu n'as pas accédé la Feuil3 à partir du formulaire.

Ci-après une capture de ce qui s'affiche en accédant à Feuil3 à partir du formulaire

image

Salut,

C'est bien la manip réalisée : feuil1 -> macro -> formulaire -> image formulaire -> feuil3 G2 -> Entrée d'une donnée.

Et je n'ai aucun soucis ..

Tu as quoi comme propriété sur ta cellule ? Tu peux éventuellement cliquer dessus -> Format de cellule -> Protection -> Décocher Verrouillée.

Bonne soirée

Salut Ergotamine,

Je viens de faire cliquer dessus -> Format de cellule -> Protection -> Décocher Verrouillée comme indiqué mais je n'arrive toujours pas à modifier la cellule G2 de Feuil3.

P.S: j'utilise Excel 2016

J'ai l'impression que quand je ferme le formulaire Feuil3 est activer mais Feuil2 est active en arrière plan et quand j'essaie de saisir dans G2 de Feuil3 c'est plutôt G2 de Feuil2 qui veut recevoir mes données.

Si tu places ce code dans le userform qu'est ce que ça te donne ?

Sub mon_image_Click()
'fermer le formulaire puis activer la feuil3
Unload UserForm1
Sheets("feuil3").Activate
Sheets("feuil3").Range("G2").Value = "TEST"
End Sub
Si tu places ce code dans le userform qu'est ce que ça te donne ?

ça marche en insérant TEST dans G2, mais je ne peux toujours pas écrire moi même dans G2.

Par contre quand je fais cette manip : feuil1 -> macro -> formulaire -> image formulaire -> feuil3 G2 -> Entrée d'une donnée -> message d'Excel m'invitant à ôter le verrouillage de la feuille -> clique ok -> sélection feuil1 -> sélection feuil3 G2 -> je peux modifier G2

Et si tu rajoutes un code pour retirer la protection de la feuille 3 juste avant son activation ?

J'avance à taton désolé car je n'ai absolument pas le même comportement sur mon Excel ..

Quand j'ajoute le déverrouillage code comme ci-après, je peux saisir dans Feuil3 G2 mais les données que j'y saisie se retrouve aussi dans Feuil2 G2 qui reste déverrouillé.

Le problème selon moi est que Feuil2 reste active en arrière plan malgré que le userform1 soit unload

Private Sub mon_image_Click()
'fermer le formulaire puis activer la feuil3
Unload UserForm1
ActiveSheet.Unprotect
Sheets("feuil3").Activate
'Sheets("feuil3").Range("G2").Value = "TEST"
End Sub

De plus malgré ce code, Feuil3 reste toujours verrouiller.

Avec ça :

Private Sub mon_image_Click()
'fermer le formulaire puis activer la feuil3
Unload Me
Sheets("feuil3").Range("G2").Activate
End Sub

Avec ton dernier code, le message d'erreur ci-après s'affiche

image

J'ai peut être une autre piste :

Met ça dans ton module :

Sub ouvrir_formulaire()
'activer feuil2 puis lancer le formulaire
Sheets("feuil2").Activate
UserForm1.Show
Sheets("feuil3").Activate
End Sub

Et ça dans ton userform :

Private Sub mon_image_Click()
'fermer le formulaire puis activer la feuil3
Unload Me
Sheets("feuil3").Activate
End Sub

J'ai l'impression en execution pas à pas qu'à l'issue de la macro de ton userform, tu reswitch dans ton module 1, d'où l'activation de la feuil2 peut être.

Désolé, la nouvelle piste aussi ne marche pas.

Même message qu'initialement ?

Et si tu otes toutes les protections ? Tu tapes aussi sur la feuil2 ?

C'est vraiment bizarre j'arrive pas à reproduire ..

Oui même message qu'initialement.

Quand j'ôtes toutes les protections, et je saisie dans feuil3 G2, la valeur saisie se retrouve dans feuil2 G2 et non dans feuil3 G2

Trop bizarre même. Je vais essayer sur un autre ordinateur voir.

Bonjour Ergotamine,

Je viens d'ouvrir mon fichier sur 03 autre ordinateur sous Office 2016, le problème demeure.

Mais sur un autre ordinateur sous Office 2019, tout marche nickel. Malheureusement je ne peux pas installer Office 2019 puisque je suis sous Windows 8. Dans tous les cas j'aimerais bien savoir ce qui cloche avec la macro sous Office 2016.

J'ai aussi constater que quand je quitte le formulaire et je me retrouve sur Feuil3 je n'arrive pas à fermer le classeur.

Tu utilise quelle version de Office ?

Rechercher des sujets similaires à "modification nouvelle feuille fermeture formulaire"