copie automatique de données avec restructuration, insertion à la suite d'un tableau

friseb

XLDnaute Occasionnel
Bonjour,


Je dois créer un fichier Excel dans lequel je récupère des données d'un logiciel tiers. Ces données sont présentées d'une certaines manière qui ne me permet pas de les exploiter en l'état. ( Ces données sont présent dans la feuil1).

L'objectif est de recopier ces données et de les recopier en feuil2 mais en les restructurant. De plus, en feuils2 sont déjà présents des informations des années précédentes et il faut donc que les données présent en feuil1 se recopie en feuil2 à la suite des informations déjà présentes. De plus systématiquement la 1ere ligne de la feuil1 ne doit pas être recopier.

Ci joint le fichier Excel.

Les conditions :
- Je ne peux absolument pas modifier la feuil1.
-La colonne A de la feuil2 correspond à la colonne A de la feuil1
-La colonne B de la feuil2 correspond à la colonne C de la feuil1 ( la colonne B de la feuil1 n'est pas exploité).
- La colonne C de la feuil2 correspond aux informations contenu dans les cellule de la colonne D feuil1 avant les 1eres parenthèse []
-La colonne D de la feuil2 correspond à la date contenu dans la 1ere parenthèse de la colonne D feuil1
-La colonne E de la feuil2 correspond à la date contenu dans la 2eme parenthèse de la colonne D feuil1
-La colonne F de la feuil2 correspond à la colonne E de la feuil1, cependant si la colonne E contient 0 et qu'il y a donc un montant dans la colonne F de la feuil1 alors le montant figurant dans la colonne F de la feuil2 doit être négatif.

J'espère que tout cela est faisable.


merci de votre aide.

Cordialement.
 

Pièces jointes

  • projet excel.xlsx
    13 KB · Affichages: 64

friseb

XLDnaute Occasionnel
Re : copie automatique de données avec restructuration, insertion à la suite d'un tab

cela à l'air de marcher. Mais à quoi servent les deux feuilles que tu a rajouter.

J'avais commencé à élaborer quelque chose en enregistrant des macros mais tu as été très rapide. En plus ton code est vraiment court par rapport à celui que j'ai commencé à élaborer. Faut dire que je connais rien au VBA et que je passe par l'enregistreur de macro.

Merci beaucoup pour l 'aide que tu m as apporté.
 

Gelinotte

XLDnaute Accro
Re : copie automatique de données avec restructuration, insertion à la suite d'un tab

Bonjour,

Les deux feuilles que j'ai rajoutées ?? Elles sont à détruire. Je m'en servais pour remettre les données à leur état d'origine après des tests infructueux.

Je suis en apprentissage et je commets quelques erreurs. Je dois encore piocher un peu pour obtenir de bons résultats.

G
 

friseb

XLDnaute Occasionnel
Re : copie automatique de données avec restructuration, insertion à la suite d'un tab

Bonjour,


J'ai testé ton code VBA hier et cela marche nickel. Je te remercie beaucoup encore.
J'ai juste rajouté quelques instructions.

J'ai du créer une feuille tampon dans laquelle je copie les données.


La feuil1, qui sert a récupérer toutes les données du logiciel tiers, est une matrice. pour être sûr de récupérer toutes les informations j'ai du étendre la matrice sur 700 lignes par exemple. Si par contre je n'ai que 300 lignes à récupérer du logiciel, j'aurai alors 300 lignés d'information et les 400 lignes suivantes contiendront l'erreur #N/A.
Or je ne peux modifier quoi que ce soit sur la matrice. Et ton code VBA ne marchait donc pas dans ce cas la.

Donc c'est pour cela que j'ai créer une feuille tampon dans laquelle je copie la feuil 1 et je supprime tous les #N/A.
 

friseb

XLDnaute Occasionnel
Re : copie automatique de données avec restructuration, insertion à la suite d'un tab

Par contre j'ai une autre demande:

dans l'étape : "De plus systématiquement la 1ere ligne de la feuil1 ne doit pas être recopier"
elle ne doit pas être recopié si dans la cellule B1 il y a les valeur "SI" ou"INV". Comment faut-il faire pour introduire ce paramètre ?

merci
 

Gelinotte

XLDnaute Accro
Re : copie automatique de données avec restructuration, insertion à la suite d'un tab

Bonjour,


Voici une nouvelle copie qui corrige la première ligne de la feuil1 (SI ou INV)
Si cette condition doit s'appliquer à d'autres lignes, le code doit être structuré autrement.

Ton exemple ne mentionnait pas de formule. Si tu as des cellules qui contiennent #N/A, ça peut se traiter, il s’agit de connaître les colonnes qui contiennent des formules pour les faire supprimer au besoin et ainsi évider les #N/A.
Ou encore, modifier la formule du genre =Si(F11="";"";F11*B11), ainsi on évite l'affichage de #N/A tout en gardant les formules.

Autre chose, dans ton exemple feuil1, lignes 41, 42 et 43 à la colonne C, les données se présentent différemment.
09/01, 09/05, 09/04. Lors du traitement, le calcul se fait
09/01 = 9,00
09/05 = 1,80
09/04 = 2,25

Est-ce normal ou faut-il traiter cela ?


G
 

Pièces jointes

  • projet excel(2).xlsm
    28.5 KB · Affichages: 58

friseb

XLDnaute Occasionnel
Re : copie automatique de données avec restructuration, insertion à la suite d'un tab

Oui mon exemple ne contenait pas de formule car j'ai juste fait une copie des valeurs des éléments que j'ai récupérés.

En fait j'obtiens les données de la feuil1 grâce a des formules que tu ne pourras utiliser. En effet, ce sont des formules qui viennent pomper des informations dans un logiciel de gestion. Donc si tu n'as pas ce logiciel tu auras que des erreurs sur la feuil1.

pour les #N/A je te présente une feuille type qui contient justement ces erreurs.

Concernant la colonne c il faut que ces données restent en format texte car c'est juste une référence de document.
 

Pièces jointes

  • donnees avec na.xlsx
    31 KB · Affichages: 63

Gelinotte

XLDnaute Accro
Re : copie automatique de données avec restructuration, insertion à la suite d'un tab

Bonjour,

J'ai pioché un bout, mais je pense avoir bien réussi à gérer l'erreur #N/A.
Même s'il y a plusieurs lignes qui contiennent ce résultat (#N/A), le code va passer outre et ne tenir compte que des données.
Évidemment, tu as dû voir que la détection se fait que sur la colonne A.

Espérant que ce fichier te sauve des manipulations.


G
 

friseb

XLDnaute Occasionnel
Re : copie automatique de données avec restructuration, insertion à la suite d'un tab

Cela marche effectivement très bien.

les #N/A seront de toute façon sur toutes la ligne donc ton code marchera toujours.

T'est vraiment costaud en VBA.

Je vais donc pouvoir exploiter ton code et je verrai ultérieurement pour apporter quelques évolutions.
Notamment pour améliorer la manière de mettre à jour les données.

Merci encore.
 

friseb

XLDnaute Occasionnel
Re : copie automatique de données avec restructuration, insertion à la suite d'un tab

Je t embête encore avec mon projet, mais dans le dernier fichier que tu m as transmis, la dernière ligne de données de la feuille 1 n'est pas recopiée.

Merci
 

Dull

XLDnaute Barbatruc
Re : copie automatique de données avec restructuration, insertion à la suite d'un tab

Salut friseb, Gélinotte:), le Forum

en insérant
Code:
With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
End With
en début de code et
Code:
With Application
    .ScreenUpdating = True
    .Calculation = xlCalculationAutomatic
End With
en fin de code

le traitement est instantané :)

Bonne Journée
 

Pièces jointes

  • donnees avec na(3).xlsm
    36.9 KB · Affichages: 60

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 016
dernier inscrit
Mokson