chtebel
Messages postés62Date d'inscriptionjeudi 22 décembre 2005StatutMembreDernière intervention 3 janvier 2011
-
19 sept. 2006 à 23:34
chtebel
Messages postés62Date d'inscriptionjeudi 22 décembre 2005StatutMembreDerniè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
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 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
chtebel
Messages postés62Date d'inscriptionjeudi 22 décembre 2005StatutMembreDernière intervention 3 janvier 20111 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?
sebtralalaetph
Messages postés111Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention 2 avril 20101 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
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 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>
Vous n’avez pas trouvé la réponse que vous recherchez ?