Macro avec #NA

Bonjour,

Je souhaiterais créer une macro qui me permettrait plusieurs choses:

- Automatiser le traitement d'une recherchV entre les fichiers nommés 1 et 2 (respectivement dans le fichier 1, les données à utiliser sont dans l'onglet 1, et le fichier 2 les données à utiliser sont dans l'onglet 2)

- Démarrer ce traitement par un bouton qui dit ":Bonjour le traitement va commencer"

- Faire en sorte que la macro me sorte tous les #NA sur une 3ièmes feuilles du fichier 1 avec toutes les colonnes où la recherchV a été faite.

J'ai réalisé un bouton et enregistré une macro mais je n'arrive pas à trouver ce qu'il faut changer pour que la macro puisse s'automatiser avec n'importe quel type de fichier, afin que je puisse avoir automatiquement tous les #NA en cliquant sur le bouton.

Pourriez-vous m'aider dans ce sens?

A très bientôt!

11.xlsx (29.34 Ko)
22.xlsx (18.42 Ko)

Bonjour,

Dans le fichier ci-joint, j'ai placé un bouton sur la feuille 1 qui est relié à une macro qui filtre les données comportant #N/A dans la colonne J et qui en reporte les données – sans les supprimer sur cette feuille – sur la feuille ‘Endroit où coller’.

Comme il n’y a pas d’autres macros dans le fichier que tu nous fournis, il est difficile de savoir comment combiner ma macro avec les autres.

Je suis parti sur l’idée qu’une macro existante permettait déjà d’avoir la feuille 1 telle que présentée.

Cordialement.

NB : Je n'ai pas compris pourquoi, mais lorsque je modifie l'extension du fichier afin qu'il prenne en charge les macros, son volume gonfle énormément ; je suis donc obligé de passer par le site C-Joint afin de pouvoir te le fournir.

https://www.cjoint.com/c/ECxi76EBaqu

Bonjour.

Yvouille a écrit :

lorsque je modifie l'extension du fichier afin qu'il prenne en charge les macros, son volume gonfle énormément

Même en l'enregistrant en classeur binaire ?

Bonsoir,

Merci pour vos réponses!!

Quelques questions toutefois:

- Est-ce que tu as généré ce code en enregistrant une macro puis en faisant en sorte que le codage s'automatise? Si oui, quelles manipulations tu as faite sur Excel? Ou tu as fait tout le code à la main?

Pourrais-tu m'expliquer dans quelle partie du code on retrouve le "Bouton 1"? Et comment l'as tu relié au code?

Que signifie Application.ScreenUpdating = False?

Dans l'attente de te lire.

Lena

Salut,

C’est un code que j’ai réalisé sans l’enregistreur de macro. Cet enregistreur peut être une très bonne aide dans certain cas, mais dans d’autres absolument inutile.

Je ne comprends pas très bien ta question au sujet de ‘retrouver Bouton 1 dans le code’, mais je présume que tu penses que j’ai utilisé un bouton de type ‘Contrôles ActiveX’ alors que j’ai utilisé un bouton de type ‘Contrôles de formulaires’ (Vas voir sous ‘Développeur/Insérer). Pour ce deuxième type de bouton, tu effectues un clic droit dessus et tu choisis l’option ‘Affecter une macro’ afin d’y affecter la macro désirée (macro que tu as toi-même nommée comme tu le voulais).

Application.ScreenUpdating = False empêche que toutes les modifications effectuées par la macro soient visibles à l’écran et tu ne vois que le résultat final. Si tu enlèves cette instruction et que tu lances le code, tu peux voir éventuellement à l’écran que les données sont filtrées à un certain moment puis que les filtres sont à nouveau enlevés. Je dis éventuellement car si tu es sur un PC extrêmement rapide, tu ne verras peut-être rien du tout. Afin de voir l’efficacité de cette instruction, tu peux créer un code avec lequel tu sélectionnes 5 à 10 feuilles les unes après les autres et tu y inscrits dans chacune quelques données puis tu reviens sur la feuille de départ. Selon que tu y place Application.ScreenUpdating = False ou non, tu verras une sacrée différence.

Amicalement.

Rechercher des sujets similaires à "macro"