Vba Worksheet_SelectionChange

chtebel Messages postés 62 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 3 janvier 2011 - 19 sept. 2006 à 23:34
chtebel Messages postés 62 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 3 janvier 2011 - 21 sept. 2006 à 23:23
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

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
20 sept. 2006 à 07:30
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.

@++
0
chtebel Messages postés 62 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 3 janvier 2011 1
20 sept. 2006 à 13:39
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?
0
sebtralalaetph Messages postés 111 Date d'inscription dimanche 19 février 2006 Statut Membre Dernière intervention 2 avril 2010 1
20 sept. 2006 à 15:37
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.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
20 sept. 2006 à 17:16
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>
0

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

Posez votre question
chtebel Messages postés 62 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 3 janvier 2011 1
20 sept. 2006 à 23:45
Merci, j'essaye et je vous dit si ca marche       
0
chtebel Messages postés 62 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 3 janvier 2011 1
21 sept. 2006 à 23:23
Ca  marche nickel .merci c cool.
0
Rejoignez-nous