RE: probleme de macros change()

VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009 - 6 juin 2007 à 11:08
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 6 juin 2007 à 13:55
SalutaZion,
Voilà donc hier j'ai demander de l'aide pour lancer "automatiquement une macros lord d'un changemetn sur ma feuill EXCEL
voici le bout de prog :
Le module1 contient :
Coloration syntaxique automatique par Kenji a écrit:, ----
'Ceci est une variable Public d'UN Module a ajouter elle represente la memorisation de la cellule
Public M_Valeur(1 To 32) AsString
Public j AsInteger

Le ThisWorkBook contient :
PrivateSub Workbook_Open()
j = 1
'nous allons "espionner" la colonne B
For i = 2 To 33
    M_Valeur(j) = Worksheets("Feuil1").Range("B" & CStr(i + 1)).Value
    j = j + 1
Next i
EndSub
Et une Feuille ici Feuil1 contient :
Coloration syntaxique automatique par Kenji a écrit:, ----
'Cet événement survient à chaque modification dans la feuille et est placer dans la feuille à espionner
PrivateSub Worksheet_Change(ByVal Target As Range)
   'on verifie que la modification a bien eu lieu sur la plage souhaitée (B2:B33)   'Column 2 B
   If (Target.Column = 2) And (Target.Row > 1) And (Target.Row < 34) Then
       'on regarde alors l'ancienne valeur       If (M_Valeur(Target.Row - 1) vbNullString And Target.Value "1") Or (M_Valeur(Target.Row - 1) = "0"And Target.Value = "1") Or (M_Valeur(Target.Row - 1) = "1"And Target.Value = vbNullString) Or (M_Valeur(Target.Row - 1) = "1"And Target.Value = "0") Then
          Call Macro2
          'x = MsgBox(" Mise à Jour " & (Chr(13) & Chr(10)) & " ''OK'' ", 64, "Mise à Jour")
       EndIf
       'on mémorise la valeur
       M_Valeur(Target.Row - 1) = Target.Value
  EndIf
EndSub
LE PROBLEME en fait c'est que ce n'est pas l'utilisateur qui modifie les paramètre sur la feuille EXCEL mais un aute logiciel, et de ce fait le Worksheet_Change ne fonctionne pas, si quelqu'un peut m'aider cela serais très sympatique^^
MerZi ... Zi ... Zi ...
PtitCat

8 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 juin 2007 à 11:17
que peut on faire, si les macros ne réagissent pas .... ?

un lien vers l'autre topic aurait été bien vu, puisque tu a décidé (étrangement) de créer un nouveau topic, et de ne pas poursuivre l'ancien

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
6 juin 2007 à 11:25
Dsl, mais je ne mis connais pas bcp c'est la deuxième macros que je fais dans ma vie et par concéquent je ne connais VB que depuis 2smaine, on ma conseillé de faire mon prog comme celà alors j'l'ai fait avec quelque mais vraiment quelque modif, et comme lorsque je changer les valeurs dans ma feuille EXCEL la macros ce lancer correctement, je m'été dit qu'avec le logiciel que j'utilise pour placer les valeurs dans EXCEL celà marcherais aussi, mais lorsque j'ai tester ce matin j'ai constater qu'en effet que la fonction Worksheet_Change ne fonctionnée pas car la macros ne se lance plus ...
Alors si vous pouviez mieux m'explique vos propos car j'avoux avoir un peut de mal gérer tout cela

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 juin 2007 à 11:38
Salut,
Il faudrait nous en dire plus.
Qui pilote (application) pilote Excel.
Je viens de teste de modifier une cellule d'un classeur avec VB6 et l'événement Change de la Feuille survient bien.
D'ailleurs je ne vois pas du tout pourquoi EXCEL ne lèverait pas les même événements (même moments) sous prétexte que c'est une autre appli qui écrit dans les cellules.

Brefs encore une fois il faut que tu soit plus précis.

@+: Ju£i?n
Pensez: Réponse acceptée
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
6 juin 2007 à 11:56
Je sais bien !!
L'appli qui rempli EXCEL est InTouch (dsl de ne pas l'avoir précisé je ne pensé pas celà utile)
j'avou ne pas comprendre non plus pourquoi il ne les prend pas en conte, surtt que comme tu vien de le dire tu a réussi!!!

MerZi ... Zi ... Zi ...
PtitCat
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 juin 2007 à 12:07
pourquoi ? VBA surement désactivé... peut etre pas ouvert dans Excel même...

les raisons peuvent etre diverses

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
6 juin 2007 à 12:11
OK mrc jV essayé de trouver

MerZi ... Zi ... Zi ...
PtitCat
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
6 juin 2007 à 13:04
Je vais être aussi précise que possible, en fait sur mon appli InTouch j'ai créer une simple fenêtre qui contient 32 causes discrète  (prend uniquement les valeur de 1 ou 0), lorsque je cliquee sur une cause sa nouvelle valeur est réécrite dans une colonne EXCEL.
mon appli EXCEL elle comporte un tableau de 34 cases/34 dans la première colonne sont placé les mnémoniques des causes (cause1, cause2, ...), dans la second sont placés les valeurs de ces causes rempli par InTouch, dans la première ligne sont placé les mnémoniques des effets (effet1, effet2, ...) des "X" ou "x" sont placés dans le tableau afin de préciser quels causes produits quels effet.
Ma macros de base, était lancer manuellement et éspionné tout le tableau afin de déterminer si toutes les causes d'un effet étaient mise à 1, si c'était le cas la colonne en question est mise en rouge.
Le bout de macros que j'ai rajouter sert a faire une mise a jour automatique, des qu'un valeur de cause et modifier, ma macros de base est lancé, le problème c'est que ca ne veut absolument pas marché lorsque c'est InTouche qui modifie ces valeurs de causes, alors que si moi je vais les modifier directement via EXCEL ma macros marche parfaitement, voilà pourquoi j'ai besoin de votre aide pour eclairessir le mystère qui repose sur ce BUG !! 

MerZi ... Zi ... Zi ...
PtitCat
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 juin 2007 à 13:55
la suite ici :

http://www.vbfrance.com/infomsg_RERERERERE-PROBLEME-FONCTION-CHANGE-AI-ETAIT-AUSSI-PRECISE_958066.aspx

VB_PtiCat, merci d'arreter d'en mettre partout....

ce post est encore dans la liste, sur le forum, les gens le voient !

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Rejoignez-nous