Automatiser une macro au sein d'une macro

deprayel

XLDnaute Nouveau
Bonjour à toutes et à tous,

J'en appel à votre savoir et à votre aide :)

Je dispose d'une liste générée par une macro.

Ensuite, lorsque je sélectionne un élément de ma liste, j'ai la possibilité de cliquer sur un bouton, ce qui actionne ma macro numéro 2.

Sauriez-vous comment faire pour automatiser la seconde étape, à savoir, sélectionner tous les éléments de ma liste, et leur appliquer un par un la macro, sachant que si la sélection arrive sur une cellule vide, alors la macro s'arrête ?

Vous remerciant grandement d'avance !
 

Staple1600

XLDnaute Barbatruc
Re : Automatiser une macro au sein d'une macro

Bonjour à tous

deprayel [Bienvenue sur le forum]

Ne serait-il pas utile de voir ton code VBA?
Il pourrait également n'être pas inutile que tu joignes un fichier exemple avec ta liste et ton code vba existant dedans?
Il se pourrait que cela nous aide à t'aider, non ?

PS: il serait surtout utile que tu changes de lunettes ;)
 

deprayel

XLDnaute Nouveau
Re : Automatiser une macro au sein d'une macro

Bonjour Staple1600. Milles excuses. Je vais corriger cela.

Je ne peux malheureusement pas vous joindre ce document qui est plutôt sensible. J'en suis vraiment désolé et embêté. Je sais que cela permetrait de mieux visualiser.

Mais ma logique voulait appliquer ceci :

"Selection par Range de la liste (qui contient des noms),
Pour chaque cellule, activer la macro,
si la cellule suivante est vide (ne contient pas de nom), arrêt."
 

Paf

XLDnaute Barbatruc
Re : Automatiser une macro au sein d'une macro

Bonjour à tous

une solution aussi détaillée que le soucis :

A priori faire une boucle sur les éléments de la liste et pour chaque éléments si l'élément n'est pas vide lancer le code de la macro, sinon sortir de la boucle.

A+
 

Staple1600

XLDnaute Barbatruc
Re : Automatiser une macro au sein d'une macro

Re, Bonjour Paf

deprayel
Je ne peux malheureusement pas vous joindre ce document qui est plutôt sensible. J'en suis vraiment désolé et embêté. Je sais que cela permetrait de mieux visualiser.
Il te suffit de créer un fichier exemple sans données confidentielles mais qui reproduit l'agencement de ton fichier original.
(avec des données du type NOM1, PRENOM1 etc...)

PS: On ne joint jamais ici un fichier original.
Le demandeur doit juste prendre le temps de créer un fichier exemple qui illustre le problème rencontre et/ou le résultat à obtenir
 

deprayel

XLDnaute Nouveau
Re : Automatiser une macro au sein d'une macro

Merci de vos réponses. Je vais tacher de vous poster un modèle afin de mieux visualiser, il est vrai que cela serait plus simple.

En attendant, Voici un bout du code de ma macro...qui s'avère être plus du bidouillage qu'autre chose, mais je suis très débutant, veuillez m'en excuser.
Elle fonctionne chez moi sous 2007, mais pas sous 97 sur mon lieu de travail. Enfin, j'ai une erreur de débogage à la fin que je ne parviens pas à résoudre. Cela m'indique : Erreur d'exécution '1004'. (Bien que cette macro fonctionne et me génère toutes mes fiches)

Voici mon code VBA de ma macro qui génère automatiquement toutes les fiches de ma liste :

VB:
 Sub generateurM14()

 'Je détermine ma variable du début de la liste
 Dim ma_variable As Currency
 ma_variable = Range("B16").Select
  
 'Je détermine ma variable de référence qui compte les objets de ma liste grace à NBVAL(B16:B200). Les objets de ma liste sont toujours aléatoires.
 Dim Limite As Currency
 Limite = Range("B14")

 'Je sélectionne ma cellule de départ
 Range("B16").Select

 '...jusqu'à ce que ma_variable arrive à la valeur de ma limite
 Do Until ma_variable = Limite
  
'Lancer la macro de génération de fiche
 ma_variable = ma_variable + 1
 Application.Run ("ficheM14")

'sélectionner la feuille création de fiches
 Sheets("Création des fiches").Select

'se déplacer à la valeur du dessous
 ActiveCell.Offset(1, 0).Select

'recommencer...
 Loop

End Sub

Merci de votre aide. Je tache de joindre un fichier le plus vite possible.

Voici une image pour visualiser un peu ce "générateur" :
Ici, l'étape 2 permet de faire du cas par cas, alors que l'étape 3 génére toutes les fiches de la liste d'un seul coup.
Il y a deux "générateurs" sur cette feuille, ils ont le même principe.

attachment.php
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof