Vba Worksheet_SelectionChange

Signaler
Messages postés
62
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
3 janvier 2011
-
Messages postés
62
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
3 janvier 2011
-
suis je au bon endroit pour poser une kestion VBA excel? j'espere
En fait j'ai un souci avc la fonction Worksheet_SelectionChange
j'importe des donnees du CAC 40 a partir d'un site, et je parametre la mise a jour automatique toute les 1 minutes.
J'ai mis une procedure Worksheet_SelectionChange, qui devrait (enfin c'etait mon souhait) permettre de trater ces données apres chaque mise a jour, c'est a dire toute les minutes. Je pensais que dés qu'on faisait une mise a jour de données externes la procedure se déclenchait mais ca ne semble pas etre le cas. Cela se declenche plutot quand j'appuie sur un bouton formulaire ou autre.(celui ci me servant a autoriser ou non les mise a jour automatique).
Enfin je comprend pas et je fais finir par ce de pc.
Si quelqu'un comprend pourquoi ca ne marche pas
merci d'avance

6 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

c'est normal, la procédure SelectionChange se déclenche ors d'un changement de selection de cellule.
En cas, lors de l'import des données du CAC 40, une fois terminer, code un truc du genre Range("A1").Select

Ta procédure sera lancée.

@++
Messages postés
62
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
3 janvier 2011
1
ok, donc on va dire qu'a la fin de l'importation je selectionne A1 ce qui lance la procedure. Mais ce qui serait top, ce serait que la procedure ne se lance que lorsque A1 est selectionné, comme ca quand je clike sur un bouton de la page la procedure ne se déclenche pas. J'ai cru voir quelque part que ca existait, quelqu'un sait comment?
Messages postés
111
Date d'inscription
dimanche 19 février 2006
Statut
Membre
Dernière intervention
2 avril 2010
1
Salut, Peut etre en faisant
sub Worksheet_SelectionChangeWorksheet_SelectionChange (byval Target as range)
if target.address ="$A$1" then
   taprocedure
end if
end sub

Je suis pas sur, je debute en vbexcel.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

ton code avec le target, ça veut dire que la procédure ne sera exécutée que si la nouvelle cellule sélectionnée est A1.

Pour ma combine, je lui ai dit Range("A1") mais peu importe la cellule sélectionnée, tant que ça change, l'évènement Worksheet_SelectionChange sera exécutée.


Le mieux, c'est que dans son code de MAJ, à la fin de sa proc, il met 
   bFlag = True

Public bFlag As Boolean sera à placer dans un module.

Puis dans
Sub SelectionChangeWorksheet_SelectionChange (ByVal Target As Range)
   If bFlag Then Range("A1").Select   ' ** pour rafraichir
   bFlag = False
End Sub

@++





<hr width="100%" size="2" />

  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
62
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
3 janvier 2011
1
Merci, j'essaye et je vous dit si ca marche       
Messages postés
62
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
3 janvier 2011
1
Ca  marche nickel .merci c cool.