Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Y a t-il un moyen d'évaluer le code que l'on conçoit au fur et à mesure ? Correspondant à F9 quand il s'agit des formules.
Par exemple, dans un code, évaluer la ligne n°2.
Le pas à pas a t-il une autre fonction que de surligner les lignes sur lesquelles on se trouve ? Si oui, comment faut il faire ?
Ce dont je parlais, c'est d'obtenir un résultat comme avec F9 dans les formules. C'est à dire que l'on édite une formule complexe, on sélectionne une autre formule dans la première, et que l'on évalue différents résultats à l'intérieur.
Bonsoir.
On peut aussi mettre des points d'arrêt simplement en cliquant dans la minuscule marge,
On ne peut pas évaluer la ligne puisqu'elle ne possède pas de valeur, mais on peut évaluer les expressions au moyens d'espions.
Cordialement.
il exécute l'instruction selectionnée lorsque tu l'actionne (la touche F8)... cela te permet de voir en autre l'initailisation / modification des valeurs des variable dans la fenêtre "variable locales". (barre de menu => affichage => "fenêtre variables locales"....
On peut aussi mettre des points d'arrêt simplement en cliquant dans la minuscule marge,
On ne peut pas évaluer la ligne puisqu'elle ne possède pas de valeur, mais on peut évaluer les expressions au moyens d'espions
Bon, j'ai pas tout compris, et il va falloir que je me penche sur ces fenêtres espions.
il exécute l'instruction selectionnée lorsque tu l'actionne (la touche F8)... cela te permet de voir en autre l'initailisation / modification des valeurs des variable dans la fenêtre "variable locales". (barre de menu => affichage => "fenêtre variables locales"....
Ok, là non plus je ne connaissais pas. Ca m'a l'air bien pratique. Je vais essayer de tenter de comprendre comment ça fonctionne. j'ai essayé sur un bout de code, je vois bien qu'il se passe des choses, mais je ne saisis pas tout encore.
J'ai exécuté cette macro pour décaler des cellules (adaptée d'un code sur le site de JB).
Code:
Sub transpose_2()
col = 14
For Each c In Range([A2], [A65000].End(xlUp))
Cells(2, col) = [A1]
Cells(2, col) = c
Cells(2, col) = c.Offset(, 1)
col = col + 1
Next c
End Sub
Je vois donc le changement de valeur que prend "col" quand j'appuie sur F8. Donc ça c'est un grand pas en avant.
Y a t(il un moyen de voir ce qu'il se passe directement sur le fichier ? C'est à dire exécuter la macro pas à pas ?
Si... tu écris ta macro avec les déclarations de variables et en évitant des abus ([...])
Code:
Sub transpose_2()
Dim c As Range, col As Byte
col = 14
For Each c In Range("A2:A" & Range("A65000").End(xlUp).Row)
Cells(2, col) = Range("A1")
...
de F8 en F8 jusqu'à l'initialisation du c (première ligne après le For), tu auras au survol de Cells(2, col), de col, de Range("A1"), de c et de c.Offset(0,1) les valeurs correspondantes (rien pour vide évidemment).
Ok, merci, mais à quoi sert, dans cet exemple de déclarer les variables ? Je sais qu'il est mieux de le faire, mais je ne vois pas en quoi dans cet exemple précis.
Par ailleurs, le code que tu as inscris ne fonctionne pas... normal ?
... signifie dans le code qu'il y a une suite (inchangée pour ton test).
Les déclarations* permettent, entre autres, de savoir ce qu'on a (ce que tu demandais) au survol avec la souris.
[A1]* fait intervenir l'évaluation du contenu de la cellule même quand ce n'est pas utile et peut ralentir les procédures conséquentes; avec l'explication précédente, son survol ne donne pas ce contenu.
Quel est l’intérêt de la recherche du contenu quand on veut, par exemple, une couleur de police (hors MFC) ?
Complètement faux, à moins que, compte tenu de ce qui est spécifié, ça ne puisse absolument pas simplement renvoyer un objet Range.
C'est faciile à vérifier:
J'avais pas pigé le coup du survol ! Génial ! Ceci dit, je viens de vérifier, on a les valeurs au survol (Yep !) même dans les sub où les déclarations n'ont pas été faites..
Bon, c'est encore un peu flou tout ça.
tu auras au survol de Cells(2, col), de col, de Range("A1"), de c et de c.Offset(0,1) les valeurs correspondantes (rien pour vide évidemment).
En début de ligne oui, mais pas directement sur c.offset par exemple, ni Range ("A1").... ou ai-je encore raté quelque chose ?
[A1]* fait intervenir l'évaluation du contenu de la cellule même quand ce n'est pas utile et peut ralentir les procédures conséquentes; avec l'explication précédente, son survol ne donne pas ce contenu.
Quel est l’intérêt de la recherche du contenu quand on veut, par exemple, une couleur de police (hors MFC) ?
Ok , je crois que je vois, bien qu'encore obscur, mais alors Range("A1") fait référence uniquement à la position et non pas du contenu ? c'est bien ça que tu veux dire ?
Merci, c'est cool ! 🙂
EDIT Merci Dranreb, encore une précision. Ce qui est bien avec vous, c'est que j'ai un peu de mal à digérer vos réponses, mais une fois le travail fait, je sens que j'ai progressé d'un bond. Très très précis. Merci.
Sub test()
'décocher la ligne ci-dessous pour un autre essai
'Dim a As Integer
a = [A1] '23 en A1 par exemple
MsgBox TypeName(a)
MsgBox TypeName(Range("A1"))
End Sub
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD