Macro de mise en forme onglet 1 vers onglet B

Bonjour à tous,

J'ai une demande qui a déjà été traité plein de fois mais sous d'autre formes, cependant je ne maîtrise pas assez le VBA pour arriver à adapter les codes et arriver à mes fins.

J'ai un fichier composé de 2 onglets :

Le premier est un tableau avec des données (TVA EMEF) dont le nombes de lignes varies chaque mois.

Le second (upload) reprend quelques infos du premier onglet plus d'autres, et actuellement je le créer manuellement chaque mois.

Son but est d'être intégré dans un logiciel et doit donc avoir exactement cette aspect.

Je souhaiterais un code qui fasse cette manip récurrente.

Je joins un fichier volontairement allégé en nombre de lignes avec les explications sur la feuil3 des données attendues dans l'onglet "upload".

Si un vous à envie de s’effarer à cette tâche...

merci à vous d'avance...

Flavie

21exemple.xlsx (16.65 Ko)

Bonjour

Dans la feuille upload, les infos des colonnes A et B viennent d'où ?

Crdlt

bonjour,

Ce sont des infos fixes.

Il s'agit d'un upload visant à intégrer une écriture comptable dans un logiciel comptable.

FBS1 est un code de transaction qui permet de saisir une écriture avec contrepassation automatique.

Le 02 est le choix de contrepassation sur une période suivante.

re

Ton fichier en retour avecune macro à tester

Vide ta feuille Upload depuis la ligne 6 jusque la dernière ligne, puis exécute le code

Crdlt

15exemple.xlsm (25.64 Ko)

Bonjour Dan,

Je te remercie pour ta macro, c'est top ...

-->J'ai modifié un truc :

Sheets("upload").Range("L" & dlg + 1) = 40

Sheets("upload").Range("L" & dlg + 1) = 22126200

en

Sheets("upload").Range("L" & dlg + 1) = 40

Sheets("upload").Range("M" & dlg + 1) = 22126200

-->Par contre j'ai un petit souci, la dernière ligne 22126200 doit faire le total des V*** uniquement.

Là elle fait le total depuis N6, donc des 1*** + de la ligne total 22126200 + les suivantes.

cela se situe à ce niveau mais je ne sais pas comment l'écrire :

If i = .Range("A" & .Rows.Count).End(xlUp).Row - 1 Then

Sheets("upload").Range("A" & dlg - 1 & ":K" & dlg - 1).Copy Sheets("upload").Range("A" & dlg + 1)

Sheets("upload").Range("L" & dlg + 1) = 40

Sheets("upload").Range("M" & dlg + 1) = 22126200

Sheets("upload").Range("N" & dlg + 1) = WorksheetFunction.Sum(Sheets("upload").Range("N6:N" & dlg))

Sheets("upload").Range("A" & dlg + 1 & ":N" & dlg + 1).Interior.ColorIndex = 6

End If

Serais tu le faire?

En tout cas je ne m'en serais pas sorti avec toutes ses conditions, car mes connaissances sont au stade "bébé"

Je vais la compléter afin qu'elle créer l'onglet avec les entêtes.

en attendant merci beaucoup...

@ +

Re

Désolé pour la petite erreur

Pour éviter les erreurs dans l'explication, vois ci-joint le fichier corrigé.

Cordialement

14exemple.xlsm (25.73 Ko)

Super c'est parfait !!

Merci beaucoup...


Encore une petite demande, je n'avais pas fait attention mais il manque cette donnée :

Col AD : "D" sauf pour les lignes en jaunes

tu peux l'ajouter?

Autres petits ajustements :

Les montants devaient se retrouver en colonne O au lieu de N, j'ai modifié.

En colonne AB et AH, il n'y a rien sur les lignes en jaune je souhaite la même chose que celle dont la col M qui commence par 1 ou V.

Re

Colonne M ou G ??

Dans le fichier exemple, colonne AB c'est J et G, colonne AH c'est la colonne G qui est renseignée

Merci de me préciser

Bonjour,

Dans les colonnes AB et AH, sur les lignes en jaune il n'y a rien, je souhaite le même texte que pour les autres lignes.

Ensuite en colonne AC il doit y avoir un "D", sauf pour les lignes en jaunes.

Je ne sais pas si cela est plus clair?

hésites pas


Pardon c'est en colonne AD qu'il doit y avoir un "D"

re

Essaie comme ceci

Crdlt

13exemple.xlsm (25.82 Ko)

Cela fonctionne parfaitement, je te remercie beaucoup pour ton aide et ta disponibilité..

à bientôt peut être sur le forum ..

Flavie

Rechercher des sujets similaires à "macro mise forme onglet"