AU SECOURS! VB - Private sub worksheet change

Résolu
Druss -  
 Druss -
Bonsoir, je m'arrache les cheveux depuis plusieurs jours à tenter de trouver une solution à mon problème. Pourriez-vous m'aider?


Je récupère des données depuis un site web (bourse) sur excel. Je traite une de ces données en particulier, et en fonction de ses états ma cellule A1 a soit la valeur 1, soit 0.
Je veux pouvoir lancer la macro EvolutionGain quand A1 vaut 1.


Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("A1").Value = 1 Then
        call EvolutionGain
    End If
End Sub



Cependant, bien que ce code fonctionne en modifiant directement la valeur de A1, rien ne se passe quand A1 se modifie depuis le site web.
Est-ce un cas particulier? Avez-vous une solution?
A voir également:

4 réponses

Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Salut,

Ton code est bon, mais souvent les données reçues sont au format texte essayes de mettre 1 entre "1"

If Range("A1").Value = "1" Then


A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
Druss
 
Bonsoir Mike-31, merci de ta réponse rapide, j'ai essayé mais visiblement ça ne fonctionne pas non plus.

Comme la mise à jour des données s'exécute automatiquement je me demande si le problème ne vient pas de là (habituellement c'est en validant la cellule ou la fonction que la macro s'active), mais je ne sais pas comment y remédier... vous auriez une idée?
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

Crées un petit fichier dans le quel tu colles 2 ou 3 valeurs que tu reçois, que je vois

pour joindre ton exemple avec ce lien

https://www.cjoint.com/

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
Druss
 
Je te remercie pour ton aide Mike, j'ai finalement trouvé une solution différente en fouillant un bout de temps dans l'aide d'Excel.

Je me sers de la mise à jour automatique des données qui entraine un recalcul de certaines cellules.



Private Sub Worksheet_Calculate()
        
    If Range ("A1").Value = 1 Then
         Call EvolutionGain
    End If
End Sub


0