Création d'une maccro pour mise en forme compléte

Bonjour,

Je me tourne vers vous car je suis en "panne" de langage VBA, je vous ai joint 3 fichiers:

  • Projet initial : sortie brut de mon logiciel, tous mes fichiers sortiront avec cet présentation (au niveau des colonnes)
  • Projet Final : ceux à quoi je veux arriver
  • Fin de la maccro : la début de macro que je vais et l'endroit ou je coince.

Une données importante que je n'ai pas réussi à prendre en compte, c'est que selon mes projets, le nombre de ligne varie, ceklui des colonnes sera toujours identiques

Ce que j’aimerai en plus, c'est quelque chose de la façon suivante:

A chaque ligne (début en ligne 4), mémoriser la valeur de la case "A4"dans une variable X et la case "B4" dans une variable Y

Ensuite, à la ligne suivante, mémoriser la valeur de la case "A5" dans une vairable XX et la case "B5" dans une variable YY

Ensuite, tester la valeur des variables, Si (Et(X=XX;Y=YY)) ,si valeur et vrai, passer à la ligne suivante, si la valeur est fausse, insérer une ligne vierge.

Le premier cas intervient entre la ligne 8 et 9.

J'aimerai faire ça pour tester toutes les lignes.

Ensuite, je voudrai faire une somme en dernière ligne (ligne 379 sur le projet final) qui ressemblerai à une maccro comme ça:

Si "A fois ligne (ici 379)" est vide, alors mettre texte "Total", si elle est pleine, ne rien faire.

Ensuite, faire la somme des colonnes D,E, G et H

Je vous remercie par avance d'avoir regarder et d'essayer de résoudre mon problème.

Cordialement

Kevin

24projet-final.xlsx (31.66 Ko)
24projet-initial.xlsx (37.59 Ko)

Salut Kevin,

Avant de se lancer dans la réalisation d’une macro – semble-t-il relativement simple – il serait intéressant de savoir comment tu travailles en général.

a) As-tu régulièrement des nouvelles données à traiter ? Si oui, les as-tu sous la forme d’un nouveau fichier ? D’une nouvelle feuille Excel ?

b) A partir de ces nouvelles données à traiter, que désires-tu obtenir ? Un nouveau fichier ? Le fichier contenant les données mais simplement transformées ? Une nouvelle feuille transformée dans le nouveau fichier reçu ? Une nouvelle feuille à partir des nouvelles données dans un fichier de base regroupant toutes les données traitées les unes après les autres ? Une simple feuille à imprimer et à jeter immédiatement après ?

Dans un premier temps, j’imagine un fichier de base avec une feuille modèle ayant une mise en forme de base (par exemple avec déjà les lignes de titre) et qu’à partir de ce fichier, on aille traiter les données nouvelles, soit dans un autre fichier, soit sur une autre feuille, soit …….., puis qu’on imprime les données, qu’on les archives dans un nouveau fichier, dans le fichier dans lequel elles sont arrivée, dans le fichier de base comportant la macro ou je ne sais où. A voir selon tes réponses à mes questions ci-dessus.

NB : Tes macros sont quand même assez alembiquées. Je pense qu'il vaut mieux partir dans une direction complètementassez différente.

A te relire.

Merci d'avoir pris le temps de me répondre.

Le fichier original, je vais avoir ce type de fichier environ 1 à 2 fois par semaine (seul le nombre de ligne varie), c'est un fichier excel.

Ce que je voudrai, c'est une fois que je sort mon fichier excel original, j'ouvre la feuille excel contenant la maccro afin de pouvoir l'exécuter sur la feuille initiale.

Une fois la mise en forme faite, je sauvegarde (tout en gardant le même fichier) et je peux ensuite retravailler plus facilement (mais la, impossible de mettre des maccros)

A la fin, mon fichier maccro doit juste contenir la maccro pour mettre en forme, aucune case ne doit être remplie.

Salut,

Dans le fichier ci-joint, tu as une macro que tu lances par le bouton en place sur la feuille ‘Base’.

Par l’intermédiaire d’une fenêtre de dialogue, tu choisis le fichier à traiter. Celui-ci doit être exactement de la même structure que ton fichier modèle ‘Projet initial’.

Ensuite tout se passe automatiquement et à la fin tu dois avoir une deuxième feuille dans ton fichier traité (pour mes essais, dans le fichier ‘Projet initial’) avec la mise en page pratiquement telle que désirée. En effet, je hais les lignes vides qui ne créent que des problèmes et je te propose d’autres solutions à la place, comme des lignes plus hautes que d’autres à la place de lignes vides.

Je n’ai pas très bien compris quelle colonne tu voulais reporter sous ‘Déperditions’ ; j’ai donc pris au hasard la colonne de départ M du fichier traité.

Afin de faire plusieurs essais, il faut bien entendu effacer la nouvelle feuille créée et refermer le fichier traité au préalable.

En fin de macro, le fichier de base – celui contenant la macro – est refermé.

Cordialement.

24base.xlsm (23.81 Ko)

Salut et merci pour cette feuille, j'ai pu regarder sur un autre projet ce que cela rend, et cela est pas mal pour le moment.

La mise en forme est presque complète, je m'explique:

J'ai refait le test sur une feuille et j'ai bien la création de l'onglet "bis" mis en forme.

Cependant, dans mon fichier projet final, j'ai en cellule "I2" la valeur "1.2" qui agit sur mes calcul, cette valeur peut varier, j'aimerais donc la retrouver sur la maccro final ainsi que la formule : = $I$2*H4 (cette formule étant étiré vers le bas)

J'avais aussi mis en forme les valeurs de la colonne H pour que les valeurs n'est pas de chiffre après la virgule.

Peux tu me donner des explications sur les lignes vide, ceci engendre des problème de maccro ou autre?

Je n'avais pas pensé non plus à mettre une ligne plus haute que l’autre, ça fonctionne aussi, ça permets "d'aérer le tableau"

Cordialement

Re-bonjour,

Les lignes vides peuvent te créer des problèmes si tu désires par exemple placer une formule au bout d’un tableau de 304'000 lignes et que tu veux simplement double-cliquer sur l’angle inférieur droit de la première cellule contenant cette formule pour l’appliquer 304'000 fois. Avec tes lignes vides, l’incrémentation s’arrêtera à la première ligne vide. Si tu désires atteindre la dernière ligne d’un tableau avec Ctrl + Flèche vers le bas, si tu as des lignes vides, ça n’ira pas. Ca peut aussi créer tout plein de surprises désagréables lors de la création de macro. Et tout ça alors que l’on peut très bien se passer de lignes vides. Je te conseille fortement de prendre l’habitude de trouver d’autres solutions. Mêmes remarques pour les cellules fusionnées : à éviter comme la peste.

Pour ton facteur de multiplication (1.2 dans ton premier exemple) : si tu le connais d’avance lors de la création de la feuille nouvelle, on pourrait l’indiquer en début de macro par un InputBox et l’utiliser pour les calculs inclus à la macro ou sinon le prévoir à un emplacement sur la feuille, comme dans ton modèle. A toi de dire ce qui te convient le mieux.

Pour la mise en forme de cette colonne H, je vais essayer d’y penser la prochaine fois que je t’envoie un fichier, autrement rappelle-me-le.

A te relire.

Re-bonjour,

merci pour les explications concernant les lignes vides et les cellules fusionnées.

Pour mon facteur de multiplication, il est généralement à 1.2 mais sa peut varier, c'est pour ça que je préféré le mettre dans une case à coté de mon tableau ,l'idéal étant de le mettre sur une ligne au dessus car je vais ensuite rajouter des colonnes sur la gauche (leur nombre varie) ainsi que les valeurs.

Cordialement

Voici un nouveau fichier qui devrait répondre à tes attentes.

Amicalement.

21base-v1.xlsm (24.34 Ko)

Je te remercie, cela correspond à ce qu'il me faut, je vais regarder la maccro plus en détail pour voir comment cela fonctionne.

Merci encore pour avoir pris du temps pour me répondre

Rechercher des sujets similaires à "creation maccro mise forme complete"