Microsoft 365 VBA Remplissage automatique tableau

BOILEAU

XLDnaute Junior
Bonjour,

J'essaye, mais sans succès, de remplir avec une formule VBA un tableau.
Si je peux trouver de l'aide, merci d'avance.
je vous joint mon fichier. Ce dernier est constitué de 3 feuilles
- IMPORT LES RECETTES : C'est la feuille qui contient les données
- IMPORT DANS COGILOG : C'est le tableau que je souhaite remplir avec les éléments de la feuille IMPORT LES RECETTES
- EXEMPLE TABLEAU : C'est pour que vous puissiez visualiser et comprendre comment le tableau doit être rempli. Cette feuille sera supprimée par la suite.
J'ai indiqué les cellules à remplir par des flèches. Les autres cellules servent à d'autres données.
Comme vous pourrez le constater, le nombre de lignes totale est inconnue et la constitution en nombre de ligne de chaque bloc de facture est variable.
La feuille contenant le tableau que je dois exporter en .txt dans mon logiciel de gestion est IMPORT DANS COGILOG.
Si dans la formule VBA, il est possible d'intégrer à l'aide d'un bouton l'export du fichier en .txt se serait vraiment top ! le séparateur de champ est le caractère de tabulation (ascii 9), le séparateur de ligne peut être le séparateur de ligne Mac, Window ou Unix.

Merci pour votre aide précieuse.
A votre dispo,
Bonne journée.

Frédéric
 

Pièces jointes

  • DOSSIER IMPORT.xlsm
    31.4 KB · Affichages: 12

Oneida

XLDnaute Impliqué
Bonjour,
avec une formule VBA un tableau.
Vous voulez des formules Excel ecrites par du VBA ou le contenu des cellules ecrit par du VBA?

Les autres cellules servent à d'autres données.
Tout a fait Thierry, qui les rempit car y en a beaucoup plus qu'a ecrire par du code. A moins que vous terminerez le codage pour ces cellules
 

BOILEAU

XLDnaute Junior
Bonjour Oneida,

Si cela est possible, je souhaiterais que les valeurs s'inscrivent automatiquement à la bonne place.
Les cellules des colonnes qui ont une croix resteront vides. Elles existent pour le cas où des informations supplémentaires s'avèreraient nécessaire. A toutes fins utiles, je vous joint le tableau modèle de l'import que mon logiciel peut interpréter.
Merci pour votre aide.
Cordialement,
Frédéric
 

Pièces jointes

  • ModèleImportPièces.xls
    48.5 KB · Affichages: 5

BOILEAU

XLDnaute Junior
Re,
Ok. Ce que je ne comprends pas, ce sont *Defaut et autres avec *. D'ou sortent-ils, y en a pas dans
IMPORT LES RECETTES
Re,
Les cellules qui contiennent *Default ou vrai ou Faux sont des informations qui permettent à mon logiciel de compta de savoir ce qu'il doit mettre.
Les informations présentent dans les cellules des colonnes C, E, H, I, J et DC doivent se répéter automatiquement pour chacune des lignes. Ce sont des valeurs immuables.
Exemple :
Ligne d'entête 3 : colonne I = valeur *DEFAULT / colonne DC = valeur FAUX
Idem pour toutes les lignes d'entêtes 5 et 12 dans l'exemple
Lignes 4 de la pièce : colonnes C, E, H, et J = valeur *DEFAULT
Idem pour toutes les lignes de la pièce 4, 6, 7, 8, 9, 10, 11, 13 et 14 dans l'exemple.

J'espère avoir répondu à votre interrogation.

Merci pour votre patience.

Cordialement,

Frédéric
 

BOILEAU

XLDnaute Junior
Bonjour
Ci joint ma solution

A+ François
Bonjour François,

Merci pour votre aide.
Peut-être fais-je une erreur !
Lorsque j'efface toutes les lignes (de 2 à 60) de la feuille "IMPORT DANS COGILOG" et que j'exécute votre macro "traitement" rien ne se passe.
En lisant votre code VBA "traitement" je constate que la feuille "IMPORT LES RECETTES" n'est écrite nul part. Cela m'étonne.
Sauf erreur ou incompréhension de ma part, les données sont celles de cette feuille et qui permettent de remplir le tableau de la feuille "IMPORT DANS COGILOG"

Si vous pouviez m'expliquer comment marche cette macro, ce serait top.

Merci d'avance

Cordialement,

Frédéric
 

fanfan38

XLDnaute Barbatruc
Sur la feuille tu as un bouton traitement. Ce bouton lance la macro qui est dans le module1
Ne sachant pas si tu risquais de mettre les données à la suite je n'ai pas effacé la feuille Import dans cogolog...
La feuille "IMPORT LES RECETTES" n'est écrite nul part car c'est la feuille où on est...
Chez moi ça marche quand je clic sur TRAITEMENT? même après effacement de la feuille "IMPORT DANS COGILOG", cellule A2 à T28
As tu activé les macros?

A+ François
 

BOILEAU

XLDnaute Junior
Sur la feuille tu as un bouton traitement. Ce bouton lance la macro qui est dans le module1
Ne sachant pas si tu risquais de mettre les données à la suite je n'ai pas effacé la feuille Import dans cogolog...
La feuille "IMPORT LES RECETTES" n'est écrite nul part car c'est la feuille où on est...
Chez moi ça marche quand je clic sur TRAITEMENT? même après effacement de la feuille "IMPORT DANS COGILOG", cellule A2 à T28
As tu activé les macros?

A+ François
François,

Autant pour moi, je n'avais pas vu le bouton dans la feuille IMPORT LES RECETTES, j'étais dans la feuille IMPORT DANS COGILOG et j'essayais dans cette feuille de lancer la macro depuis le mode développeur.

La manip marche super bien et c'est plus que génial. Par contre il y a un oubli de colonne et de cellules : colonne DC = valeur "FAUX". Sur mon fichier cette information se trouve sur les lignes des entêtes de facture 3, 5 et 12. Cette colonne ne peut être effacée.

Merci pour se magnifique boulot. Je suis jaloux de la maitrise que vous avez sur les VBA !!!

A+

Frédéric
 

BOILEAU

XLDnaute Junior
François,

Autant pour moi, je n'avais pas vu le bouton dans la feuille IMPORT LES RECETTES, j'étais dans la feuille IMPORT DANS COGILOG et j'essayais dans cette feuille de lancer la macro depuis le mode développeur.

La manip marche super bien et c'est plus que génial. Par contre il y a un oubli de colonne et de cellules : colonne DC = valeur "FAUX". Sur mon fichier cette information se trouve sur les lignes des entêtes de facture 3, 5 et 12. Cette colonne ne peut être effacée.

Merci pour se magnifique boulot. Je suis jaloux de la maitrise que vous avez sur les VBA !!!

A+

Frédéric
Oup's !!!!
Je me suis concentré sur les valeurs exportées et je n'avais pas vue qu'il manquait toutes les infos du type "*DEFAULT et "FAUX" dans les cellules.
Les cellules qui contiennent *Default ou vrai ou Faux sont des informations qui permettent à mon logiciel de compta de savoir ce qu'il doit mettre.
Les informations présentent dans les cellules des colonnes C, E, H, I, J et DC doivent se répéter automatiquement pour chacune des lignes. Ce sont des valeurs immuables.
Exemple :
Ligne d'entête 3 : colonne I = valeur *DEFAULT / colonne DC = valeur FAUX
Idem pour toutes les lignes d'entêtes 5 et 12 dans l'exemple
Lignes 4 de la pièce : colonnes C, E, H, et J = valeur *DEFAULT
Idem pour toutes les lignes de la pièce 4, 6, 7, 8, 9, 10, 11, 13 et 14 dans l'exemple.

Pensez-vous qu'il soit possible d'avoir un bouton qui permette uniquement l'enregistrement de la feuille IMPORT DANS COGILOG en un fichier texte ?

Merci

Bonne soirée.

Frédéric
 

fanfan38

XLDnaute Barbatruc
Bonjour
Je n'ai une colonne DC que dans la feuille exemple tableau?
Je nai aucun faux et défaut sauf dans la feuille exemple tableau?
Ci joint ce que j'ai compris

A+ François
 

Pièces jointes

  • DOSSIER IMPORT.xlsm
    36.9 KB · Affichages: 12

BOILEAU

XLDnaute Junior
Bonjour
Je n'ai une colonne DC que dans la feuille exemple tableau?
Je nai aucun faux et défaut sauf dans la feuille exemple tableau?
Ci joint ce que j'ai compris

A+ François
Bonjour François,

Quelle joie de découvrir votre solution ce matin.
C'est super top !!!!
Tout marche parfaitement.
Je constate que j'ai encore du chemin à faire avant d'arriver à votre niveau.
Un énorme merci.
Bonne journée
Frédéric
 

BOILEAU

XLDnaute Junior
Bonjour François,

Quelle joie de découvrir votre solution ce matin.
C'est super top !!!!
Tout marche parfaitement.
Je constate que j'ai encore du chemin à faire avant d'arriver à votre niveau.
Un énorme merci.
Bonne journée
Frédéric
Une petit précision. Que dois-je changer dans la VBA de l'enregistrement du fichier TXT pour que le fichier s'enregistre sur le bureau ?
Merci
C'est vraiment top !
Frédéric
 

Statistiques des forums

Discussions
312 073
Messages
2 085 058
Membres
102 768
dernier inscrit
clem135164