Avantage MFC sur Worksheet_Change

coco_lapin

XLDnaute Impliqué
Bonjour le forum.

Pour que toutes les modifications apportées à un onglet soient de couleur rouge j'utilise le code suivant:

Private Sub Worksheet_Change(ByVal Target As Range)
Target.Font.ColorIndex = 3 ' en rouge
End Sub

L'inconvenient c'est qu'il n'est plus possible d'annuler une saisie (de revenir en arrière) étant donné que cette macro a été actionnée entre temps.

Pourrait-on réaliser ceci avec une MFC. Dans ce cas il sera possible d'annuler une saisie.
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Re bonjour

normal j'ai dit une bétise
on ne peut pas faire une mfc d'aprés une autre feuille ou alors avec une astuce que je ne connais pas.


A+

ps: jour des bétises, une de plus dans la réponse de la réponse, décidément

Message édité par: yeahou, à: 04/01/2006 20:30
 

coco_lapin

XLDnaute Impliqué
Bonjour le forum.

Je n'ai pas eu la réponse souhaitée, je relance donc ce fil.

Ma question d'origine est toujours valable (réalisation avec MFC).

Par contre si quelqu'un avait une astuce pour revenir en arrière après le lancement d'une macro cela serait l'idéal (je suis avec Excel 2000).
 

coco_lapin

XLDnaute Impliqué
Bonjour Dan.

Avec 'Private Sub Worksheet_Change' à chaque modification d'une cellule la macro s'exécute.

Suppose que le contenu initial était une phrase assez longue, et bien, il n'est alors plus possible de revenir en arrière avec la petite flèche que tu connais. Celle-ci devient inactive après chaque validation de cellule.
 
D

Dan

Guest
Re,

Il existe l'instruction UNDO qui fait cela mais elle n'est pas applicable aux macros.

Il me semble donc que la seule solution soit encore de confirmer l'encoder cette valeur via une boite à message mais peut être sera-ce trop lourd à gérer ?

:)
 

Dan

XLDnaute Barbatruc
Re,

là je ne vois pas comment tu vas faire.
Par contre pour voir tes modifications tu peux faire passer le classeur en mode partagé et suivre les modifications apportées. Vois via menu / outils / partage le classeur et - ou suivre les modifications.


;)
 

coco_lapin

XLDnaute Impliqué
Bonjour Dan et le forum.

Dan merci pour ton aide.

Je relance ce fil au cas ou quelqu'un aurait la solution. Je commence à être pesimiste. C'est ma dernière chance.

Ma question d'origine est toujours valable (réalisation avec MFC).

Par contre si quelqu'un avait une astuce pour revenir en arrière après le lancement d'une macro cela
serait l'idéal (je suis avec Excel 2000).
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour Coco_lapin, Dan, le forum

je me suis rappelé comment on faisait une mfc sur une autre feuille, je ne sais plus qui l'avait expliqué, monique ou brigitte je crois?
enfin, il faut nommer la formule pour pouvoir l'utiliser en MFC, donc l'astuce de mon premier message fonctionne.
voir fichier exemple

Cordialement, A+
[file name=exemple_coco.zip size=1882]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exemple_coco.zip[/file]
 

Pièces jointes

  • exemple_coco.zip
    1.8 KB · Affichages: 31

coco_lapin

XLDnaute Impliqué
Bonsoir Yeahou.

J'ai essayé, il est sur que ça marche donc je vais transferer vers mon application.

Maintenant je vais essayer de décortiquer cela pour bien comprendre l'astuce du deuxième onglet et le pourquoi des choses.

En attendant je te remercie beaucoup pour ton aide.

C'est vrai, tu as raison, il y avait la solution dans ton premier message.

Bonne soirée et A+.
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Re

en précision, tu copies ta feuille originale, tu sélectionne l'ensemble des cellules de la feuille originale
menu insertion/nom/définir
tu tapes un nom (MFC dans l'exemple)
à 'fait référence', tu tapes
=Feuil1!A1
(avec le nom de la copie à la place de Feuil1)
et surtout sans $ pour ne pas être en référence absolue
tu peux maintenant utiliser le nom MFC dans une mise en forme conditionnelle sous la forme
la formule est =NON(A1=MFC) (sans $ également)en l'appliquant directement sur l'ensemble des cellules.

A+
 

coco_lapin

XLDnaute Impliqué
Un petit problème avec ta proposition yeahou.

Si j'insère une ligne (en Feuil1) tout ce qui est un dessous devient rouge.
Pour retablir il faut insérer aussi une ligne au même endroit sur la Feuil2;

mon projet est destiné à des utilisateurs.

Y-aurait-il une astuce pour palier à cet inconvénient?
 

Discussions similaires

Réponses
7
Affichages
317

Statistiques des forums

Discussions
312 165
Messages
2 085 881
Membres
103 009
dernier inscrit
dede972