Fenêtres Espions, Variables locales, Exécution

Bonjour à toutes et à tous,

Dans le fil Générer_TablesMensuellesMMR ne s'exécute pas, Jean-Paul m'a suggéré des travailler avec les fenêtres mentionnées dans titre du sujet. Je me suis donc placé sur For I= 1 to 12, mais les trois fenêtres sont restées vides. Que devrais-je voir ou taper dans chacune de ces fenêtres ? Si des onglets à droite dans ces fenêtres, précisez l'onglet sur lequel je dois cliquer

D'avance merci pour votre aide. Bonnes journée et continuation à toutes et à tous. Prenez bien soin de vous.

17menus.xlsm (287.03 Ko)

Bonjour,

La boucle For I à pour but de réinitialiser chaque tableau donc, résultat vide.

Tj(I) remet à 1 le compteur associé à chaque tableau.

Pour utiliser la fenêtre exécution, il faut écrire une ligne de commande dans le code pour visualiser le résultat, cette ligne s'écrit: Debug.Print suivi de la variable à tester.

Dans la vidéo suivante, j'ai ajouté cette ligne dans la boucle For I pour voir la valeur que prend (I) à chaque boucle, le résultat s'affiche dans la fenêtre "Exécution", vous pouvez adopter ce principe pour d'autres variables.

budgets

Bonjour Arturo83,

Comme je l'ai signalé quelque fois, j'ai des problèmes visuels; comme suite aux deux opérations de la cataracte, ma vue ne s'est pas améliorée, au contraire. Des examens médicaux ont décelé une cataracte secondaire à chaque œil. Résultat : subir deux lasers programmés les 19 et 26 novembre prochains qui devraient me permettre de retrouver une vue normale. De ce fait, dans ta vidéo, je n'arrive pas à lire ce que cous avez ajouté sur la ligne For I = 1 to 12, merci de me l'écrire afin que je puisse tester. Et pour les deux autres fenêtres, que dois-je faire, écrire, etc. ?

Voici , dans la boucle For i=:

Dim Tablo(12), Tj(12), Temp(nLig, nCol)
For I = 1 To 12
Tablo(I) = Temp
Tj(I) = 1
Debug.Print I 'Affiche dans la fenêtre "Exécution", le résultat que prend la valeur I à chaque boucle
Next I

La ligne ajoutée est celle-ci:

Debug.Print i ' Affiche dans la fenêtre "Exécution" la valeur de i à chaque itération

Une fois le test terminé et les résultats confirmés, vous pourrez supprimer cette ligne.

Pour rappel, la commande "Debug.Print" peut être placée n’importe où dans le code afin d’afficher la valeur d’une variable ou le résultat d’un calcul pendant l’exécution. C’est très utile pour comprendre le déroulement d’une procédure ou vérifier des résultats intermédiaires.

Merci. J'ai vu.

For I = 1 To UBound(tBDMenus, 1)

en dessous de cette instruction, j'ai ajouté un debug print. Fenêtre exécution : 1 à 47 : il affiche le nombre de lignes concernées ou le nombre de lignes où la mention TableMMR suivi d'un chiffre apparaît.

Bonjour à tous,

@Budget Comme dis dans mon précédent message, la fenêtre d’exécution va vous permettre soit d’exécuter un commande en la tapant directement dans la fenêtre. Exemple :

  • Print Now Pour afficher le moment au format long
  • Print Replace("Alex Térrieur","Alex","Alain",,,vbTextCompare
  • Print Application.FullPath.
  • Etc...

Soit d'afficher quelque chose Par exemple dans le programme vous pouvez insérer un Debug.Print TextBox1.Value ce sera moins intrusif qu'une boite de message

La fenêtre variables locales est là juste pour affichage de la valeur des variables à un instant t, (Vous devez absolument mettre des points d’arrêt au niveau du code pour quelle puisse afficher quoi que ce soit.

Vous devez connaître les fenêtres de propriétés et celle du projet.

Bonsoir Jean-Paul,

Les trois première lignes (print) je n'ai rien compris.

fenêtre variables locales : elle s'est bien remplie mais je n'ai pas compris grand chose.

Fenêtres projet et propriété : pas de problème.

Re,

Hé bien faite un test. Sélectionnez votre fenêtre d’exécution. Tapez Print Now suivi [d'entrée] et regardez le résultat.

ok cela a mis la date d'aujourd'hui et l'heure (heure, minutes et secondes)

Par contre, les deux autres print : erreur attendu séparateur de liste ou )

Re,

Oui c'est normal, regardez bien les lignes fournies...

J'ai fait un copier coller de vos trois lignes puis un copier coller deux dernières lignes print et à chaque fois j'ai eu ce message. j'ai regardé ces deux lignes : print replace : il n'y pas de parenthèse fermante et il se peut qu'il manque des guillemets; Print application : le point final ne devrait pas exister.

Re,

Hé bien voilà, quand on veut, Effectivement il manque une parenthèse fermante. Et le point et de trop sur l'autre ligne

Si vous aviez tapé le code au lieux de faire un simple copier/coller vous auriez vu l'erreur.

Refaites les manipulations et regarder les résultats.

Print Now Pour afficher le moment au format long
Print Replace("Alex Térrieur","Alex","Alain",,,vbTextCompare)
Print Application.FullPath

Propriété ou méthode non gérée par cet objet. Je ne sais pas sur quelle (s) ligne(s) que l'erreur se trouve.

Bonjour,

Hier à 00:14, vous avez écrit:

J'ai fait un copier coller de vos trois lignes puis un copier coller deux dernières lignes print et à chaque fois j'ai eu ce message.

sur la première ligne, "Print Now Pour afficher le moment au format long", il ne faut pas recopier le texte "Pour afficher le moment au format long"

Cdlt

Bonjour Arturo83,

J'ai supprimé le texte mais le problème n'est pas résolu, toujours le message d'erreur.

Montrez- moi la macro en entier

Ce que Jean-Paul a proposé que je tape dans la fenêtre exécution :

  • Print Now Pour afficher le moment au format long
  • Print Replace("Alex Térrieur","Alex","Alain",,,vbTextCompare
  • Print Application.FullPath.

Cela a impliqué des erreurs : j'ai donc ajouté une parenthèse fermante après vbTextCompare; J'ai supprimé le point qui était présent après FullPath; enfin, comme suite à votre proposition, j'ai supprimé Pour afficher le moment au format long. ce qui donne :

  • Print Now
  • Print Replace("Alex Térrieur","Alex","Alain",,,vbTextCompare)
  • Print Application.FullPath

Quand je remplis la fenêtre Exécution avec les nouvelles indications, je sauvegarde, je ferme mon fichier puis je l'ouvre de nouveau : la fenêtre Exécution est vide.

alors essayez ceci:

print Application.Path

ou

? Application.Path

********************************************************************************

Quand je remplis la fenêtre Exécution avec les nouvelles indications, je sauvegarde, je ferme mon fichier puis je l'ouvre de nouveau : la fenêtre Exécution est vide.

C'est normal, puisque c'est volatile,

Résultat : plus de message d'erreur; voici ce que cela donne :

C : \Program Files\Microsoft Office\root\Office 16

Pas moyen de copier le résultat pour le coller ici.

c'est bon, ça fonctionne bien, vous obtenez bien le chemin du fichier.

Rechercher des sujets similaires à "fenetres espions variables locales execution"