Salut
Du calme Patrick, Itwoo souhaite peut-être juste comprendre pour pouvoir l'appliquer autre part ou simplement pour ses connaissances personnelles.
Alors en ce moment j'utilise l'inspecteur de FireFox, lorsqu'une valeur change, celle-ci est surlignée temporairement en jaune, ce qui facilite la recherche. Mais Chrome et IE mettent à jour également les valeurs en temps réel.
Dans la pratique, pour sélectionné l'objet en question, j'ouvre l'inspecteur et je lance le chargement sur 10 ans, comme ça, ça me laisse le temps de sélectionner le bouton et de cliquer sur l'élément qui m’intéresse.
Ensuite tu peux tester plusieurs fois, en simplement relançant un chargement et en observant le comportement des variables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <p id="ajaxloader" class="ajax_loading_wrap" style="display: none;"> <img width="32" height="32" src="http://content.nasdaq.com/images/ajax-loader-2.gif"> </p>
Pour répondre à ta 2ème question, le early bindings n'a rien à voir avec ton problème car ici tu ne déclares aucune variable object, j'explique au début de mon tutoriel le early et late bindings.
Pour l'utilisation de Sheets(3), je préfère éviter ce type d'appellation pour nommer un onglet, je préfère utiliser le CodeName de cet onglet, c'est à dire sont nom sous VBa, tu peux le modifier ici
Plusieurs avantages,
- Si au cours de la macro, tu ouvres ou changes de fenêtre Excel, modifiant le classeur actif, cela évite que la macro ne se mettent à utiliser se classeur actif comme référence... en effet Sheets(3) est compris par VBA comme étant ClasseurActif.Sheets(3), alors que si tu utilises le CodeName, il fera toujours référence au même onglet du même classeur et pas d'un autre classeur.
- Si l'utilisateur change l'onglet de place, Sheet(3) représentera le mauvais onglet = catastrophe
- La diminution du code, il est plus simple d'écrire MonOnglet (étant CodeName donné à un onglet), plutôt que de le nommer "en entier" ThisWorkBook.Sheets(3).
Après je n'ai pas trop compris le problème, si tu utilises With, l’auto-complétion ne fonctionne pas toujours en effet, quand j'en ai besoin, je note simplement provisoirement l'objet de départ. Le problème est d'autant plus pénible avec Sheets qui lui ne s'autocompléte pas...
Si tu places 2 espions, un sur Sheets("Feuil1") et un sur Feuil1, tu verras qu'ils sont de types différents, Sheets(...) est un objet interprété comme étant un "sheet". Alors que Feuil1 est une classe Feuil1 dérivée de la classe Worksheet et est donc un Sheet, aucune interprétation de VBa ici. Je ne sais pas si je suis claire ni si c'est la vérité vrai mais c'est comme celà que j'interprète ce problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Sub teste() Sheets("Feuil1").Activate Feuil1.Activate End Sub
J'en reviens donc à l'utilisation du CodeName
++
Qwaz
Partager