VBA en mode pas à pas je suis parasité par des fonctions

Fermé
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 - 2 févr. 2014 à 19:58
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 - 14 févr. 2014 à 11:17
Bonjour,
Je suis en auto-formation vba, et je suis régulièrement parasitée par des fonctions que j'ai copiées dans mon personal.xlsb ou qui sont sur un ficher excel ouvert en parallèle.

Aujourd'hui, j'ai un classeur 1 où je fais des exercices dans un module 1 et en parallèle, j'ai le fichier d'exercices 'VBA pour EXCEL 2003 - Pour les Nuls.xls' (qui contient pleins de macros et de fonctions).
je viens d'écrire une macro :
Sub remplissageSelonDde()
Dim ValDep As Integer, ValFin As Integer, Cmpt As Long
ValDep = InputBox("A combien voulez-vous commencer ?")
ValFin = InputBox("Combien de cellules voulez-vous saisir ?")
For Cmpt = 1 To ValFin
ActiveCell.Offset(Cmpt - 1, 0) = ValDep + Cmpt - 1
Next Cmpt
End Sub
et quand je la lis en mode pas à pas, je pars sans arrêt sur les fonctions pour les Nuls ; j'ai voulu passer la fonction en mode commentaire, pour continuer ma lecture, mais il est parti sur une autre. je ne voudrai pas fermer / ouvrir sans arrêt les Nuls...
Y a t-il une solution svp ?
Merci

A voir également:

12 réponses

bonjour

mettre au debut de ta macro

Application.EnableEvents=False

et a la fin

Application.EnableEvents=True

je pense que ca doit etre ca sinon un mdel de ton fichier serait plus simple
pour voir ton probleme

A+

Maurice
1
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 15
2 févr. 2014 à 21:44
Bonsoir Maurice,
Je pense aussi que tu as vu le pb ; c'est pas la première fois que je post cette question, tu es le 1er à répondre qq chose qui fonctionne.
Si tu pouvais m'expliquer ce qui se passe, ce serait sympa, vu que F1 ne m'éclaire pas vraiment.

J'ai essayé sur 4 macros différentes, je ne suis plus embêtée...
Merci
0
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 15
4 févr. 2014 à 16:50
Bonjour,
Est-ce que mentionner
Application.EnableEvents=False 
en débute de la 1ère procédure et
Application.EnableEvents=true
à la fin de la dernière procédure module suffit ?
Ou bien faut-il mettre les 2 dans chacune des procédures ?
Et si on les met dans les fonctions, est-ce que ça sert à qq chose ?
Merci
0
Bonjour

on mes Application.EnableEvents pour desactiver les code qui se trouve dans les feuilles

moi je fait que des Modules donc j'ais pas besoin de mettre ca

A+

Maurice
0

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

Posez votre question
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 15
4 févr. 2014 à 19:14
Bonsoir Maurice,
Merci pour ta réponse,
moi aussi, je ne fait que des modules ??
D'ailleurs, je viens de vérifier sur une grosse application que j'ai faite au bureau, qui a ce pb quand je fais du pas à pas...
Il n'y a aucun code dans les feuilles et je suis toujours "parasité" avec une fonction.
J'ai ajouté des
Application.EnableEvents
à toutes mes procédures mais ça ne fonctionne pas.
C'est une application que je traîne comme un boulet ; c'est l'une des premières que j'ai écrite pour récupérer des données qui viennent d'outils de requête.
Comme je ne maîtrise pas les array, ça mouline bien ! et ça bug de temps en temps, car je dois croiser des données par nom et par date (avec des noms qui ne sont pas normalisés).
Impossible de la mettre en ligne, je ne sais plus quoi faire, à part maîtriser les array...
Merci quand même
0
re
donne un model pour voir si je trouve le probleme

A+
Maurice
0
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 15
4 févr. 2014 à 20:06
Merci Maurice,
mais je ne vois vraiment pas comment en faire un modèle (sans faire de jeux de mots laids),
il y a 19 pages A4 de code, sur un an de données, il y a 15 000 lignes sur 22 colonnes ; enfin, elle fait 6 800 Ko.
Ce n'est pas le fichier en lui-même qui pose pb, puisque ce n'est que des TCD, c'est la mise à jour de la base de données, où j'ouvre 3 fichiers, l'un après l'autre.
Sur chacun, je traite les noms (avec des find), je convertis les données, recopie les dates pour chaque noms.
Une fois les 3 fichiers traités, je prends le premier que j'utilise comme point de départ, puis j'ouvre le second et là commence le pb, je vérifie date / nom et j'insère des lignes à chaque fois qu'il y discordance.
J'ouvre le 3ème fichier et je recommence ma vérification.
A la sortie, je vérifie à la main car j'ai pleins d'erreur de date / nom identique sur 2 lignes mais avec les données également sur 2 lignes.
Enfin j'ajoute cette base de donnée à celle de l'application et je mets à jour mes TCD.

j'ai bien pensé utiliser une table agents (qui contient 225 personnes), y ajouter tous les jours travaillés du mois à traiter et ensuite remplir les données par des formules du style Index Equiv, mais je vais me retrouver avec pleins de lignes vides de données si les gens sont absents...
Ça me ferait un fichier de 46 000 lignes au lieu de 15 000, sur un an.
Remarque je pourrais toujours faire une routine pour supprimer les lignes inutiles...
le pb, c'est de générer pour chaque nom les jours ouvrés du mois n-1 ; ça je ne sais pas faire...
0
re
tu fait un model avec quelque nom et la macro que tu veux faire

et on avance pas a pas

A+
Maurice
0
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 15
4 févr. 2014 à 23:52
Bonsoir Maurice,
Tu m'as boustée, le fait d'avoir rédiger ce qui me trottait dans la tête, mais que j'avais un peu la flemme de reprendre, et surtout tes encouragements m'ont donnée envie de m'y remettre.
Pour l'instant, je suis bien partie, j'ai réussi à monter ma base de données sur une semaine de jours ouvrés, ensuite je récupère les données avec des sommeProd. et comme je travaille avec des tableaux (Excel) on écrit une formule et la colonne se remplit...
Demain, j'essaie de trouver le temps d'insérer par une procédure la semaine suivante.
Enfin, quand je reprendrai les fichiers réels, je verrai bien si le pb revient, avec notamment, la fonction qui traite les noms en enlevant tous les signes et accents...
Je me permettrai de te tenir au courant.
Merci encore
"et on avance pas a pas " Tu as beaucoup d'humour...
;>
0
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 15
9 févr. 2014 à 22:40
Bonsoir Maurice,
Comme promis je te tiens au courant ;
J'ai réécrit mon application, ça semble tourner beaucoup mieux ; demain je fais les tests avec les vrais fichiers, mais c'est sur la bonne voie enfin...

mais cela ne m'empêche pas d'être tout le temps interrompue avec une fonction qui met les Noms Prénoms en majuscule ; je suis obligée soit de faire mon pas à pas avec des stops (F9) soit de bloquer la fonction avec des apostrophes...
Quelque soit le poste de travail, quelque soit l'application sur laquelle je travaille, quelque soit la fonction présente, s'il y a une fonction dans projet, elle me parasite...
le pire c'est que ce n'est pas à chaque fois... et pas toujours sur la même macro...

En tout cas merci de m'avoir "bougée".
0
Bonjour

Pour tes majuscules donne au moins un model pour voir ce que tu à fait

A+

Maurice
0
Mouftie Messages postés 215 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 6 septembre 2020 15
14 févr. 2014 à 11:17
Bonjour foo,
Désolée de ne pas avoir répondu, mais je doit absolument finir mon projet.
Je reviendrai sur ce pb dès que j'aurai fini.
Encore merci
0