Bonjour tout le monde, je travaille actuellement sur outil automatisé d'une base de données. Cet outil automatisé aura pour but de permettre à l'utilisateur d'ajouter un fichier dans la base de données et que le tri des données se fasse automatiquement. Ceci est donc la partie que j'ai réalisée. Après avoir ajouté toute ces données, j'aimerai ajuster la mise en forme des données.
Pour que l'outil ne parcourt pas toute la base de donnéesn j'ai décidé d'appliquer la mise en forme en amont de l'ajout du fichier. Cela va peut être plus parler si je donne un exemple.
Dans ma BDD, mes 4 premières colonnes sont des chaines de caractères et j'ai donc adapté une mise en forme spéciale. Ces colonnes sont en majuscules, il n'y a pas d'accent, pas de signes de ponctuation. J'ai réalisé cette mise en forme grâce à des replace. Mais voilà si lors de l'ajout du fichier je veux appliquer la mise en forme des données pour qu'elles correspondent à la mise en forme de ma BDD, je suis obligé de réaliser une double boucle For (enfin "obligé" c'est juste que c'est la seule solution que j'ai trouvé).
Je vous ai donné donc un exemple de double boucle que j'utilise (c'est un exemple je n'ai pas qu'une ligne dans ma double boucle normalement).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 For j = 1 to 4 For i = 2 to derniereLigne Feuil2.Cells(i, j) = Replace(Feuil2.Cells(i, j), "-", " ") Next Next
Je me tourne vers vous donc savoir si il était possible de réaliser ce même genre de mise en forme sans passer par le double boucle, parce que à force, regarder ligne par ligne, la macro met du temps à s'exécuter.
Partager