Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1309 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA - Worksheet_Change ancienne valeur de la cellule

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA - Worksheet_Change ancienne valeur de la cellule

n°1480989
trakto
Posté le 23-11-2006 à 21:04:48  profilanswer
 

Salut à tous,
 
J'aimerais savoir si il est possible avec l'évennement Worksheet_Change de récuperer l'ancienne valeur de la cellule ?
 
Merci

mood
Publicité
Posté le 23-11-2006 à 21:04:48  profilanswer
 

n°1481120
Paul Hood
Posté le 24-11-2006 à 08:25:14  profilanswer
 

Bonjour,
 
Worksheet_Change te retourne la valeur de la cellule dans laquelle tu te positionnes (avant la modification)

n°1481130
seniorpapo​u
Posté le 24-11-2006 à 08:48:05  profilanswer
 

Bonjour,
Paul Hood es-tu certain??
Où?
Cordialement

n°1481134
Paul Hood
Posté le 24-11-2006 à 08:59:05  profilanswer
 

Oups...
Effectivement, je suis parti sur worksheet_selectionchange.
Et worksheet_change te retourne la valeur quand tu sors de la cellule.
 
Désolé...il est trop tôt..je vais me recoucher !!!

n°1481148
seniorpapo​u
Posté le 24-11-2006 à 09:57:34  profilanswer
 

Bonjour,
Paul Hood: ta réponse m'a donné une idée:
 
Mettre dans un module:
Public Anciennevaleur
 
 
puis dans feuil1:
 
Private Sub Worksheet_Change(ByVal Target As Range)
 
MsgBox Anciennevaleur
 
End Sub
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
Anciennevaleur = Target
 
End Sub
 
Ce qui implique une saisie manuelle (ou un select avant de changer la valeur si c'est par macro, mais dans ce cas je n'en vois pas l'intérêt)

n°1481157
Paul Hood
Posté le 24-11-2006 à 10:06:38  profilanswer
 

Seniorpapou : pourquoi une saisie manuelle ou un select si par macro ?

n°1481176
seniorpapo​u
Posté le 24-11-2006 à 10:48:12  profilanswer
 

Bonjour,
Parce que en manuel je suis certain d'avoir un selection change, par contre si je change une valeur par vba je dois pouvoir le faire sans select et dans ce cas Ancienne valeur contient la valeur de la dernière cellule sélectionnée.  
Nota:  affirmations gratuites que je n'ai pas eu le courage de tester
Mais je sens que je vais être obligé de le faire. lol
Cordialement

n°1481182
trakto
Posté le 24-11-2006 à 10:53:03  profilanswer
 

Merci pour votre aide les gars,
 
Pour ce qui est des saisies, dans ce cas là elle sont toutes manuelles.
 
Je trouve étrange que cette valeur ne soit pas mise dans Taget.value2 par exemple
 
J'avais essayé une technique consistant à appeler Application.undo deux fois de suite mais celle si repassait dans l'évenement Change :-) donc ca partait en boucle :-( .... dommage
 
 
Cordialement


Message édité par trakto le 24-11-2006 à 10:54:54
n°1481198
seniorpapo​u
Posté le 24-11-2006 à 11:11:01  profilanswer
 

Bonjour,
tu peux éviter de tourner en rond en mettant:
Application.EnableEvents = False
Application.Undo
 
Application.EnableEvents = True
Cordialement

n°1481202
trakto
Posté le 24-11-2006 à 11:17:20  profilanswer
 

Merci seniorpapou !!
 
Je pense que je vais la faire comme ca.
 
Merci encore


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA - Worksheet_Change ancienne valeur de la cellule

 

Sujets relatifs
VBA - Adresse imprimantePerdu le code de protection d'une macro VBA (Excel) ... Une solution ?
[VBA WORD] Virer le debut des titres[VB/VBA/VBS] Supprimer une valeur du registre qui fini par "\"
[Excel VBA] Macro qui se lance à chaque calculun programme simple qui marche pas (en If et Else)
Trier un tableau sous excel horizontalement avec VBA(résolu)[Excel VBA] Compteur - incrémentation
Selection multilignes VBA 
Plus de sujets relatifs à : VBA - Worksheet_Change ancienne valeur de la cellule


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR