Modifier une feuille affichée via bouton sur UserForm

Bonjour tout le monde

J'ai créé un fichier Excel (que je vous ai mis en pièce jointe) avec une UserForm, des Boutons, des Macros, des Mises en Forme Conditionnelles...

Tout ceci avec l'aide des membres de ce forum et puis parfois sur internet vu que je suis débutant en Excel/VBA.

Là je me rends compte à fur et à mesure que j'ai des problèmes sur mon fichier que je vais vous énumérer :

1. La UserForm n’apparaît pas à l'ouverture du fichier.

2. Quand j'accède à la feuille COPIL (par exemple) en appuyant sur le bouton Actions COPIL de la UserForm je ne peux pas modifier les données du tableau.

3.Le bouton Actions à réaliser de la UserForm permet d'afficher les action à réaliser dans la feuille A REALISER (c'est une sorte de tri), j'aimerai pouvoir sauvegarder les modifications dans le feuille source qui est COPIL.

4. La feuille Synthèse qui contient les graphiques, n'est pas mise à jour lorsque le fichier source est modifié.

Je pense que c'est peu trop vous demander, mais c'est spécifique et difficile à trouver prêt sur le net et surtout j'en ai vraiment besoin !!

Je vous remercie d'avance pour vos retours.

108modele-stl.xlsm (249.66 Ko)

Salut,

Ne pose pas trop de question à la fois ; ça évite de se mélanger les pinceaux.

Pour que ton UserForm s’ouvre à l’ouverture du fichier, tu dois placer un code dans ThisWorkbook, comme je l’ai fait dans le fichier ci-joint.

Ensuite lorsque je clique sur ‘Action COPIL’ dans le UserForm qui s’ouvre, j’atterris sur la feuille ‘COPIL’ et là il me semble que je peux modifier tout ce que je veux. Quelles données du tableau voudrais-tu pouvoir modifier que tu ne peux pas ? Merci de donner des références très précises en utilisant les noms des objets Excel (cellules, plages, feuilles, UserForm, macros, etc.).

Ces deux problèmes résolus, on pourra passer aux suivants.

A te relire.

121modele-stl-v1.xlsm (246.37 Ko)

Bonjour Yvouille

Je te remercie pour ton retour,

C'est nickel pour l'UserForm qui s'affiche à l'ouverture du fichier, c'est top !

Pour ce qui est de la modification des données, lorsque je clique sur ‘Action BOOST’ dans le UserForm qui s’ouvre, j’atterris sur la feuille ‘BOOST’. Quand j'ai envie de modifier les cellules du champ 'Pilote' $H5 par exemple, ça ne veut pas modifier.

Par contre si j'accède à la même feuille juste en cliquant sur BOOST parmi les noms des feuilles en bas du fichier Excel et non pas en y accédant par le bouton 'Actions BOOST', j'arrive à modifier.

(c'est la même chose pour les autres feuilles (COPIL,A REALISER,EN RETARD))

C'est très bizarre, là je suis perdu des fois j'arrive à modifier et des fois non

Merci pour ton aide.

Je suis aujourd’hui sur un PC germanophone, alors mon image ci-dessous (clic ou double-clic dessus pour mieux la voir) pourra te créer quelques soucis, à moins que tu aies bien suivi à l’école, durant les cours de langue.

Lorsque j’ouvre ton fichier et que je choisis la feuille BOOST, je peux en modifier la cellule H5, comme tu peux le voir sur ton image.

Si je vais sur l’onglet ‘Überprüfen’ (‘Révision’ en français ?) je vois que l’option ‘Blatt Schützen’ (‘Protéger la feuille’ en français ?) n’est pas activée ; donc je peux modifier tout ce que je désire sur cette feuille. Est-ce que chez toi tu aurais cette option enclenchée (donc tu devrais avoir un texte ‘Déprotéger la feuille’ ou ‘Libérer la feuille’ qui devrait être visible) ?

D’ailleurs, travaille-t-on sur le même fichier ou as-tu un fichier différent de celui que tu as placé sur le Forum ?

Je n’ai pas non plus trouvé d’instructions ‘Protect’ dans tes macros, donc je ne pense pas qu’une protection de la feuille serait mise en place sans que tu le veuilles de cette manière !!

A te relire.

22 07

Salut,

L'option 'Protéger la feuille' est désactivée !!

En ce moment je travaille sur le fichier que vous m'avez renvoyé vous même et le problème persiste

Les données présentes dans les feuilles COPIL et BOOST sont copiées à partir d'un autre fichier excel, et j'ai désactivé la connexion avec les données externes... Et toujours la même chose

Re,

J'ai essayé ton fichier de base sur un PC francophone et tout fonctionne à merveille ; je peux modifier toutes les feuilles appelées par l'intermédiaire de ton UserForm ou non

Difficile de t'aider plus puisque ça ne pose pas de problème chez moi.

Peut-être devrais-tu indiquer ce fil comme 'Résolu' en cliquant sur le petit V vert dans l'un de tes messages et ne reposer que cette question sur un nouveau fil

Amicalement.

Salut,

Je vais essayer de refaire un nouveau fichier pour être sûr.

Je vous remercie infiniment pour votre aide précieuse.

Sinon, auriez vous des solutions les points 3 et 4 ?

Cordialement.

Salut,

Si notre discussion devait reprendre pour quelque temps, merci de remettre ton fil sur ‘Non résolu’ (tu cliques sur le petit V rouge dans l’un de tes messages) ; c’est plus facile pour moi de suivre ton fil dans la liste de mes discussions suivies.

othmane-lahlou a écrit :

4. La feuille Synthèse qui contient les graphiques, n'est pas mise à jour lorsque le fichier source est modifié.

Je ne connais pas trop les graphiques. Comme il s’agit d’une question qui n’a pas de relation avec tes autres problèmes, tu peux sans autre ouvrir un fil pour ce souci uniquement.

othmane-lahlou a écrit :

3.Le bouton Actions à réaliser de la UserForm permet d'afficher les action à réaliser dans la feuille A REALISER (c'est une sorte de tri), j'aimerai pouvoir sauvegarder les modifications dans le feuille source qui est COPIL.

Le bouton ‘Actions à réaliser’ ne te permet que de sélectionner la feuille ‘A REALISER’, rien de plus.

Sur ta feuille ‘A REALISER’ tu as par contre un bouton ‘Actualiser’ qui est relié à la macro ‘Public Sub A_REALISER’. Cette macro effectue une boucle sur la feuille ‘COPIL’ et reporte sur la feuille ‘A REALISER’ toutes les lignes de la feuille ‘COPIL’ qui comportent le texte ‘Non réalisée’ dans la colonne J. Si cette partie du travail de la macro te convient, que veux-tu de plus ? Si cette partie du travail de la macro ne te convient pas, que veux-tu à la place ? Merci d’être très précis dans tes explications, d’utiliser les références exactes aux objets Excel (cellules, colonnes, lignes, feuilles, macros, etc.).

A te relire.

Salut Yvouille,

Avant de passer à autre chose, je voulais partager avec vous une remarque par rapport au problème de la modification des cellules lorsque je clique sur l'un des boutons et j’atterris dans la feuille concernée... Est ce que ce n'est pas relié au fait que le code/programme est toujours en exécution ? Il ne faudrait pas l'arrêter à la fin de son exécution pour pouvoir modifier les cellules ?

Pour ce qui est des graphiques, je vais poser la question sur un nouveau fil.

Et pour ce qui est des du bouton 'Actions à réaliser', il permet de sélectionner la feuille 'A REALISER' et puis je suis obligé de cliquer sur le bouton 'Actualiser' pour que la macro ‘Public Sub A_REALISER’ effectue une boucle sur la feuille ‘COPIL’ et reporte sur la feuille ‘A REALISER’ toutes les lignes de la feuille ‘COPIL’ qui comportent le texte ‘Non réalisée’ dans la colonne J. Est ce qu'il n'est pas possible d'automatiser ça ? c'est à dire faire ce traitement directement en cliquant sur le bouton 'Actions à réaliser' ?

Ensuite, lorsque ces données sont reportées sur la feuille 'A REALISER', j'aimerais pouvoir modifier les cellules et quand je clique sur un bouton 'Enregistrer' (par exemple), il faudrait que ça s'enregistre dans la source qui est la feuille 'COPIL'.

Je suis disponible pour plus d'éclaircissements !

Merci encore une fois.

Salut,

othmane-lahlou a écrit :

Et pour ce qui est des du bouton 'Actions à réaliser', il permet de sélectionner la feuille 'A REALISER' et puis je suis obligé de cliquer sur le bouton 'Actualiser' pour que la macro ‘Public Sub A_REALISER’ effectue une boucle sur la feuille ‘COPIL’ et reporte sur la feuille ‘A REALISER’ toutes les lignes de la feuille ‘COPIL’ qui comportent le texte ‘Non réalisée’ dans la colonne J.

Tu me réexpliques exactement ce que je t’ai expliqué moi ! Ou du moins c’est ce que j’ai compris après avoir relu ce texte.

Dans le fichier ci-joint, j’ai supprimé le bouton ‘Actualiser’ et j’ai relié la macro derrière le bouton ‘Actions à réaliser’ de ton UserForm (Private Sub Actions_A_Realiser_Click) avec la macro ‘Public Sub A_REALISER’.

Lorsque tu auras modifié les données de la page ‘A REALISER’ et que tu voudras les enregistrer sur la feuille ‘COPIL’, se sera à la suite des données en place sur cette feuille ou à la place de ces données ?

Si tu as un code en cours d’exécution (par exemple lors du pas-à-pas), tu peux modifier ta feuille Excel. Par contre, si tu as un UserForm ouvert, tu ne peux pas modifier ta feuille !!

Cordialement.

121modele-stl-v3.xlsm (251.77 Ko)

C'est super par rapport au bouton 'Actions à réaliser' !! Merci !!

Je vais vous donner un exemple par rapport à la modification des données :

Quand je clique sur le bouton 'Action à réaliser', j’atterris sur la feuille 'A REALISER' qui m'affiche une ligne (voir pièce jointe).

Si je modifie la cellule J6 et je mets 'Réalisée', puis je clique sur un certain bouton 'ENREGISTRER', il faut que ça modifie cette même ligne au niveau de la feuille 'COPIL' et par conséquent si je clique à nouveau sur le bouton 'Actions à réaliser', aucune ligne ne s'affichera dans la feuille 'A REALISER' vu que dans le 'COPIL' la colonne J ne contiendra pas le texte 'Non réalisée'.

Si tu as un code en cours d’exécution (par exemple lors du pas-à-pas), tu peux modifier ta feuille Excel. Par contre, si tu as un UserForm ouvert, tu ne peux pas modifier ta feuille

C'est à dire qu'il faut un code qui ferme l'UserForm (après avoir cliquer sur un de ses boutons) pour pouvoir modifier les données des feuilles ?

a realiser

Re,

Ton UserForm s’ouvre immédiatement lors de l’ouverture de ton fichier. Tant qu’il est visible, tu ne peux pas modifier ta feuille.

Afin que ton UserForm disparaisse, tu dois soit cliquer sur la croix blanche en haut à droite, soit cliquer sur un bouton ; derrière chaque bouton tu as alors un code qui referme la forme (UserForm1.Hide). Tu pourrais ajouter un bouton ‘Annuler’ sur ta forme, avec juste le code ‘UserForm1.Hide’ mais ça agirait exactement la même chose que d’appuyer sur la croix blanche.

Mais est-ce bien nécessaire d’ouvrir ton UserForm à chaque ouverture du fichier ????

Pour ta macro désirée, celle placée derrière le bouton ‘Enregistré’ sur ta feuille ‘A REALISER’ devrait faire l’affaire.

31modele-stl-v2.xlsm (250.74 Ko)

ça marche très bien merci !!

J'ai fait en sorte que l'UserForm s'ouvre à l'ouverture du fichier parce que sur Excel 2013 le fichier s'ouvre au dernier emplacement à sa fermeture. Alors qu'il est possible que d'autres personnes travaillent dessus, donc j'ai préféré qu'ils accèdent directement au menu de l'UserForm (une sorte d'interface d'accueil).

Au fait est ce que c'est possible de généraliser la macro placée derrière le bouton 'Enregistrer', c'est à dire enregistrer si n'importe quelle cellule à été modifiée au niveau de la feuille 'A REALISER' ?

Merci

othmane-lahlou a écrit :

Au fait est ce que c'est possible de généraliser la macro placée derrière le bouton 'Enregistrer', c'est à dire enregistrer si n'importe quelle cellule à été modifiée au niveau de la feuille 'A REALISER' ?

Si tu parles de n'importe quelle cellule de la colonne J, c'est déjà le cas ; le code passe en revue toutes les lignes présentes sur la feuille 'A REALISER' et contrôle toutes les cellules de la colonne J pour voir si elles contiennent les mots 'Non réalisée' ou pas.

Si tu veux étendre le contrôle à d'autre colonne, il faut me dire quels mots doivent être pris en compte pour chaque colonne.

ça ne va pas pouvoir être évident de prévoir les changements qu'il pourrait y avoir !

ça peut se faire sur n'importe quelle colonne, avec n'importe quels mots...

Il n'y a pas un moyen de remplacer carrément toute la ligne par exemple dans la feuille 'COPIL' au cas où une colonne de la feuille 'A REALISER' subit une modification quelconque ?

othmane-lahlou a écrit :

Si je modifie la cellule J6 et je mets 'Réalisée', puis je clique sur un certain bouton 'ENREGISTRER', il faut que ça modifie cette même ligne au niveau de la feuille 'COPIL' et par conséquent si je clique à nouveau sur le bouton 'Actions à réaliser', aucune ligne ne s'affichera dans la feuille 'A REALISER' vu que dans le 'COPIL' la colonne J ne contiendra pas le texte 'Non réalisée'.

J’avais compris par ton texte ci-dessus que tu modifiais uniquement le texte de la colonne J.

Maintenant tu me dis que tu peux modifier n’importe où ! Aïe !

J’espère que tu veux dire que tu peux modifier n’importe quel colonne d’une même ligne et que si tu changes le texte de la colonne J 'Non réalisée’ par un autre texte, tu voudrais reporter toutes la ligne concernée dans la feuille ‘A REALISER’, parce que sinon c’est la galère.

Regarde quand même le nouveau fichier ci-joint.

A te relire.

24modele-stl-v3.xlsm (251.83 Ko)

Bonjour,

J’avais compris par ton texte ci-dessus que tu modifiais uniquement le texte de la colonne J.

C'était un exemple pour mieux t'éclaircir les choses... Il n'y a aucune condition spécifique pour la colonne J !

Mais sinon la modification peut se faire dans n'importe quelle colonne

J'espère vraiment qu'il y un moyen pour réaliser ça

Je te remercie infiniment pour ton aide précieuse

Re,

As-tu lu mon texte ? As-tu tester mon dernier fichier ? Tu peux y modifier n’importe quelle cellule d’une ligne et – pour autant que tu ais écrit quelque chose d’autre que ‘Non réalisé’ dans la colonne J de cette ligne, toute la ligne sera corrigée sur la feuille ‘COPIL’. N’est-ce pas ce que tu voulais ?

Si non, dis-moi au moins ce qui ne te convient pas dans mon nouveau travail.

A te relire.

Salut Yvouille,

J'ai bien lu ton texte et testé ton nouveau fichier sur tous les niveaux !

L'enregistrement marche à merveille, sauf qu'il ne devrait pas y avoir une condition sur la colonne J !!

pour autant que tu ais écrit quelque chose d’autre que ‘Non réalisé’ dans la colonne J de cette ligne

J'avais donné le cas de la colonne 'J' juste à titre d'exemple...

Je m'explique : Au cas où l'utilisateur modifie une cellule de la feuille 'A REALISER', et qu'il clique sur le bouton 'Enregistrer', ben que ça soit corrigé sur la feuille 'COPIL'.

J'espère encore une fois que c'est faisable.

Je te remercie !

La prochaine fois essaie d'être plus clair dès le départ, de te mettre dans la peau de celui qui te lit et qui ne connait rien à ton fichier.

Normalement le fichier ci-joint devrait faire l'affaire.

Cordialement.

79modele-stl-v4.xlsm (253.39 Ko)
Rechercher des sujets similaires à "modifier feuille affichee via bouton userform"