Bonjour à tous,
Comme vous pouvez le voir, je suis nouveau sur le forum même si ce n'est pas la première fois que j'utilise VBA sous excel.
L'intro étant fait, voici mon problème.
Je dois créer une macro réalisant un tableau croisé entre des données contenu dans un onglet (appellons-le 1) et une liste d'enregistrements dans un autre onglet (le 2). Mon but est de créer un fichier de type txt contenant les enregistrements de l'onglet 2 ayant une donnée de l'onglet 1. En plus, les champs de l'enregistrement doivent être séparé par des ";" (comme dans les fichiers csv).
Le travail de vérification qu'une donnée d'un onglet appartient à un enregistrement d'un autre onglet est facile et ne me pose pas de problèmes. Par contre, je n'arrive pas à récupérer correctement cet enregistrement avec des ";". En ce moment, grâce à une boucle, je parcours l'enregistrement, cellule par cellule, et je créé un nouveau String avec ces données, séparés par un ";". Puis j'insére ce nouveau String dans le fichier txt.
Mais il faut savoir que :
- les enregistrements de l'onglets 2 ont un nombre fixe de colonne mais qui est inconnu. Ce nombre peut dépendre de ma liste d'enregistrements de départ. Donc je ne peux pas uiliser un for i<Nb_Colonne_Max.
- un enregistrement peut avoir des colonnes vides. Donc je ne peux pas utiliser un do while not isEmpty(...).
- La dernière colonne d'un enregistrement peut être vide. Donc je ne peux pas utiliser un nb_colonne_max abhérant (comme 500) puis supprimer les ";" en trop à la fin de ma ligne.
J'espère avoir été assez explicite.
Pour résumer mon problème, je dois récupérer toutes les infos d'une ligne excel (en prenant en compte les cellules vides) et placer un ";" entre elles.
Avez-vous des solutions à mon problème ?
Merci d'avance pour vos réponses
Partager