Condition-boucle

Bonjour,

Je me replonge tout doucement dans VBA (le hic quand on ne l'utilise plus pendant qqes mois ...) et je râme un peu.

J'ai joint un fichier exemple :

J'ai une sheet de travail (planning) qui reprend des tournée de livraison (col A), pour chaque ligne de cette sheet je dois créer un 'passeport' (sheet passeport) et l'imprimer, j'ai donc créé ma macro pour que les infos s'incrémentent de la sheet planning vers la sheet passeport puis que le passeport s'imprime.

Je l'ai fait pour 1ere ligne mais là où je bloque, c'est que je dois faire 1 passeport pour chaque ligne de la feuille planning et donc aussi lui dire d'arrêter lorsque la cellule de la colonne A de la sheet planning est vide

D'avance merci pour vos lumières

Françoise

Bonjour et bienvenue,

Je vois que les réponses se font attendre... Ayant jeté un oeil, le premier conseil que je donnerais : oublier l'existence de l'enregistreur, et en contrepartie réfléchir pour définir exactement ce que l'on veut faire, les éléments à mettre préalablement en place pour y parvenir... et ensuite, il n'y aura plus qu'à écrire tout ça !

Je considère que tant qu'on utilise l'enregistreur aux fins de produire une macro à utiliser, on ne connait pas VBA et on ne sait pas l'utiliser efficacement.

Dans ton cas, tu dois établir un document (passeport) dont une trame est élaboré, les informations permettant de l'établir figurent dans une base, ton tableau planning, pour chaque ligne de ce tableau, tu dois établir un passeport.

Il apparaît de façon évidente, au vu de la façon dont tu le met en forme que tu aurais tout à gagner à transformer ton tableau en tableau Excel. Une fois ta mise en forme définie, elle se reproduira automatiquement...

Supposons que tu nommes ton tableau Tournées (si tu ne laisses pas le nom mis automatiquement par Excel qui est Tableau suivi d'un numéro d'ordre). Ce nom correspond à la partie données du tableau. Devant parcourir les lignes de ce tableau :

    With [Tournées]
        For i = 1 To .Rows.Count
            'confection du passeport pour la tournée
        Next i
    End With

Voilà une façon efficace de les parcourir ! Il ne reste plus qu'à réaliser l'établissement du passeport de chaque tournée. Pour cela il te faut établir une correspondance entre les champs de ton planning (colonnes du tableau) et les zones à servir du passeport. Je ne suis pas sûr que toutes les infos à répercuter soient dans le tableau, ni que toutes celles du tableau se retrouvent dans le passeport, il faut donc mettre au point la chose de façon que l'on puisse utiliser une boucle de parcours des informations à prélever pour les mettre à leur emplacement dans le passeport.

NB- on peut toujours ! Mais il convient d'avoir listé exhaustivement pour chaque info son emplacement source et cible...

Cordialement.

Bonjour,

Déjà mille mercis pour avoir pris le temps de m'aider. Je vais tenter l'expérience comme tu le décris ...

Je comprends ce que tu veux dire avec l'enregistreur mais perso ça m'a aidé à me remémorer les quelques commandes de base et la logique VBA. Je n'ai malheureusement pas cette logique d'esprit de programmation et de préparation en définissant ses variables etc , qui quand on maîtrise, est un outil presque sans limite.

Encore merci pour ton aide.

Fran

Bonjour,

mais perso ça m'a aidé à me remémorer les quelques commandes de base et la logique VBA.

Ne crois pas ça ! L'enregistreur ne fait qu'enregistrer des commandes exécutées manuellement, il ne peut donc reproduire que le code de ces commandes, structuré selon le mode d'intervention manuel.

Toutes les instructions et commandes propres à VBA, qui ne peuvent faire l'objet de procédures manuelles échappe inévitablement à l'enregistreur...

Cordialement.

Je ne peux qu’acquiescer mais c'est très énergivore et chronophage ... je fais de mon mieux avec mes moyens

Encore merci

Lorsque j'ai débuté avec VBA, personne ne conseillait l'enregistreur (qui il est vrai était moins performant), et Microsoft lui-même ne signalait son existence que du bout des lèvres. Je n'ai donc même pas pensé à l'utiliser ! Et je peux t'assurer que l'on ne s'en porte pas plus mal !

Après il faut laisser faire le temps pour progresser, mais rien de plus normal...

Bonne journée.

Rechercher des sujets similaires à "condition boucle"